[pgsql-jp: 25059] JDBC経由のラージオブジェクト
Naoya Sasao
nao-s @ kk.iij4u.or.jp
2002年 3月 2日 (土) 17:51:34 JST
はじめまして、笹尾と申します。
JavaのMLと迷いましたが、こちらにポストさせていただきました。
末尾のコードを実行すると、
java.sql.SQLException: ERROR: oidin: error in "\377\33......."
(バイナリの値が続く)
と、エラーになってしまいます。
動かない以上、私に落ち度があるのは確かなんですが、
行き詰まってしまいました。
もし、何か分かることがありましたらよろしくお願いします。
環境はFreeBSD 4.4 に PostgreSQL 7.1.3です。
DB名:test01
DB機のアドレス:192.168.1.3
実行環境:Windows2000 (192.168.1.2)
Java:Sun JDK 1.3
インストールに関しては正常にできていると思われます。
(通常のSELECT,UPDATE,INSERT,DELETEは可能)
PostgreSQLオフィシャルマニュアル
8.5「ラージオブジェクトの使用」にならって
psql>CREATE TABLE images (imgName text, imgOid oid);
としてテーブルを作成しました。
------------------------------------------------------------------------
package pgsql_test;
import java.io.*;
import java.sql.*;
public class call_jdbc {
public static void main(String[] args) {
try{
Class.forName("org.postgresql.Driver");
Connection con =DriverManager.getConnection(
"jdbc:postgresql://192.168.1.3/test01","postgres","postgres");
con.setAutoCommit(false);
File file = new File ("D:/java_dev/pgsql_test/myimage.jpg");
FileInputStream fis = new FileInputStream(file);
PreparedStatement ps = con.prepareStatement(
"insert into images values (?,?)");
ps.setString(1,file.getName());
ps.setBinaryStream(2,fis,(int)file.length());
ps.executeUpdate();
ps.close();
fis.close();
con.commit();
con.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
------------------------------------------------------------------------
--
_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Naoya Sasao
nao-s @ kk.iij4u.or.jp
_/_/_/_/_/_/_/_/_/_/_/_/_/_/
pgsql-jp メーリングリストの案内