Hi,
I am getting an error while trying to insert a byte[] in blob field. Please let me know if I am doing somethng wrong. Here is the code.
Connection jdbcConn = null;
PreparedStatement sqlStatement = null;
//Statement stmt = null;
boolean autoCommit = true;
ResultSet sqlResults = null;
Blob imageBlob;
Blob pdfBlob;
try {
jdbcConn = XPDataSource.getConnection();
autoCommit = jdbcConn.getAutoCommit();
jdbcConn.setAutoCommit(false);
String insertSqlString =
"INSERT INTO XP_M_HOMEPAGE_CONTENT (SKEY, TOPIC,TITLE,MESSAGE,LINK_TEXT, LINK_BLOB,IMAGE_NAME) VALUES ("
+ skey
+ ",'"
+ bean.getTopic()
+ "','"
+ bean.getTitle()
+ "','"
+ bean.getMessage()
+ "','"
+ bean.getLinkText()
+ "', ?,'"
+ bean.getImageName()
+ "')";
Log.debug("", insertSqlString);
//stmt = jdbcConn.createStatement ();
sqlStatement = jdbcConn.prepareStatement(insertSqlString);
//InputStream imgInputStream = new BufferedInputStream(new FileInputStream(bean.getImageLink()));
InputStream pdfInputStream = new BufferedInputStream(new FileInputStream(bean.getPdfLink()));
//sqlStatement.setBinaryStream(1,imgInputStream,imgInputStream.available());
sqlStatement.setBinaryStream(1, pdfInputStream,pdfInputStream.available());
sqlStatement.executeUpdate();
//imgInputStream.close();
pdfInputStream.close();
jdbcConn.setAutoCommit(autoCommit);
jdbcConn.commit();
jdbcConn.close();