Hi
We have created a table with a single column of datatype BLOB in S/390.
We are trying to insert a picture image into the table using the java code given below.
We are using
DB2 Ver 6 on S/390
JDK Ver 1.3.1 and
COM.ibm.db2os390.sqlj.jdbc.DB2SQLJDriver as Driver
When executing this code, we are getting the following error:
java.sql.SQLException: DB2JDBCSection Received Error in Method execute

QLCODE==
> -301 SQLSTATE ==> 42895 Error Tokens ==> <<DB2 6.1 ANSI SQLJ-0/JDBC 1.0>> 002
at COM.ibm.db2os390.sqlj.jdbc.DB2SQLJJDBCSection.setE rror(DB2SQLJJDBCSec
tion.java:1106)
at COM.ibm.db2os390.sqlj.jdbc.DB2SQLJJDBCSection.exec ute(DB2SQLJJDBCSect
ion.java:656)
at COM.ibm.db2os390.sqlj.jdbc.DB2SQLJPreparedStatemen t.executeUpdate(DB2
SQLJPreparedStatement.java:353)
at WriteBlob.writePicture(WriteBlob.java:47)
at WriteBlob.main(WriteBlob.java:64)
JAVA CODE :
import java.lang.*;
import java.sql.*;
import java.io.*;
public class WriteBlob {
private static PreparedStatement ps;
public static Connection getConnect(String argvݨ)
{
Connection con = null;
String url="";
String dbname = "";
String user_id = "";
String pwd = "";
try
{
Class.forName("COM.ibm.db2os390.sqlj.jdbc.DB2SQLJD river");
String URLprefix = "jdbc:db2os390sqlj:";
con = DriverManager.getConnection(URLprefix);
} // end try block
catch (Exception e){
e.printStackTrace();
} // end catch block
return con;
} // end of getConnect()
public static void writePicture(Connection con, String argvݨ){
//Assuming that the first column of the table is of BLOB data type
String insert_picture = "insert into BlobTbl (filename, blobcol) VALUES(?,?)";
try{
FileInputStream fis=new FileInputStream("ABC.JPG");
File sourcefile = new File("ABC.JPG");
long fileLength = sourcefile.length();
byteݨ fileContentByte = new byteÝ(int) fileLength¨;
fis.read(fileContentByte);
/**** sowmya **********/
//Initialising PreparedStatement ps with query
ps =con.prepareStatement(insert_picture);
//Using ps.setBinaryStream() instead of ps.setBytes to retrieve sourc
//ps.setBinaryStream(1,fis,fis.available());
ps.setString(1, "ABC.JPG");
ps.setBytes(2, fileContentByte);
//Execute the prepared statement
ps.executeUpdate();
}//end of try
catch(Exception ee){
ee.printStackTrace();
}//end of catch
}//end of writePicture()
public static void main(Stringݨ argv){
try{
//Establish connection
Connection conn = getConnect(argv);
//invoke writePicture method and pass connection object and command line input for tablename and columnname values
writePicture(conn,argv);
// Close connection object
conn.close();
} //end try block
catch (Exception ex)
{
ex.printStackTrace();
} //end catch block
}//end of main()
}//end of WriteBlob class
Please help us regarding the above...