Hy, Postgresql community!
I'm using:
Linux RedHat6.2,
PostgreSql6.5.3+jdbc6.5-1.2,
jdk1.2.2
(AND I CAN'T CHANGE THIS "KIT")
I've got the below java program and when I type:
# javac PicImmitter.java , it's all ok.
But my problem occours when I run:
#java PicImmitter
..........and this is the error output:
"FastPath protocol error: Z
at postgresql.fastpath.Fastpath.fastpath(Fastpath.java:159)
at postgresql.fastpath.Fastpath.fastpath(Fastpath.java:188)
at postgresql.fastpath.Fastpath.getInteger(Fastpath.java:200)
at
postgresql.largeobject.LargeObjectManager.create(LargeObjectManager.java:162
)
at postgresql.jdbc2.PreparedStatement.setBytes(PreparedStatement.java:298)
at ProvaPicIn.<init>(ProvaPicIn.java:48)
at ProvaPicIn.main(ProvaPicIn.java:11) "
What can I do, exactly? My Program is:
import java.awt.*;
import java.io.*;
import java.io.FileInputStream;
import java.sql.*;
import postgresql.largeobject.*;
import java.io.IOException;
public class PicImmitter extends Frame{
public static void main(String args[])
{
PicImmitter app = new PicImmitter();
System.exit(0);
}
public PicImmitter()
try{
Class.forName("postgresql.Driver");
Connection conn=DriverManager.getConnection("jdbc:postgresql:best",
"Myuser","Mypwd");
FileInputStream fis = new FileInputStream("015.jpg");
int nBytes = fis.available();
byte [] buff= new byte[nBytes];
int bytesPhoto = fis.read(buff,0,nBytes);
String photo = new String(buff);
conn.setAutoCommit(false);
PreparedStatement ps = conn.prepareStatement("update players set
image = ? where playercode=? ");
ps.setBytes(1,photo.getBytes());
ps.setInt(2,15);
ps.executeUpdate();
fis.close();
ps.close();
conn.setAutoCommit(true);
conn.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
THANK'S A LOT
MARCO FROM ITALY