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: Zat postgresql.fastpath.Fastpath.fastpath(Fastpath.java:159)at
postgresql.fastpath.Fastpath.fastpath(Fastpath.java:188)atpostgresql.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");
FileInputStreamfis = 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