Java OrdImage LoadFromFile异常
我正在尝试将图像加载到Oracle多媒体数据库中。我对抛出SQLException的Java OrdImage LoadFromFile异常,java,oracle,jdbc,multimedia,Java,Oracle,Jdbc,Multimedia,我正在尝试将图像加载到Oracle多媒体数据库中。我对抛出SQLException的OrdImage.loadDataFromFile()方法有问题 java.sql.SQLException: ORA-22990: LOB locators cannot span transactions ORA-06512: at "SYS.DBMS_LOB", line 1127 ORA-06512: at "ORDSYS.ORDSOURCE", line 801 ORA-06512: at "ORDSY
OrdImage.loadDataFromFile()
方法有问题
java.sql.SQLException: ORA-22990: LOB locators cannot span transactions
ORA-06512: at "SYS.DBMS_LOB", line 1127
ORA-06512: at "ORDSYS.ORDSOURCE", line 801
ORA-06512: at "ORDSYS.ORDIMAGE", line 669
ORA-06512: at line 1
我使用的代码是:
public void uploadImage(String filename) throws SQLException, IOException
{
...
// retrieve the previously created ORDImage object for future updating
Statement stmt2 = dbModel.getConnection().createStatement();
String selSQL = "select IMAGE from PHOTO where id="+test_id+" for update";
OracleResultSet rset = (OracleResultSet) stmt2.executeQuery(selSQL);
rset.next();
OrdImage imgProxy = (OrdImage)
rset.getORAData("IMAGE", OrdImage.getORADataFactory());
rset.close();
stmt2.close();
// load the media data from a file to the ORDImage Java object
try {
imgProxy.loadDataFromFile("/home/anton/Documents/1.MIT_zima/UPA/upa-project/app/Kataster/car42.gif");
}
catch (SQLException ex) {
System.err.println(ex);
}
// set the properties of the Oracle Mm object from the Java object
imgProxy.setProperties();
...
}
异常由以下行引发:
imgProxy.loadDataFromFile("/home/anton/Documents/1.MIT_zima/UPA/upa-project/app/Kataster/car42.gif");
尝试此
setAutoCommit(false)
发出setAutoCommit(false)命令。然后,显式地提交
将所有Blob块写入行后的事务
及
已执行stream.close()方法
如果使用Oracle 10g JDBC驱动程序(或更高版本),则第二个
解决方案
包括使用标准JDBCAPI(setBinaryStream方法
java.sql.PreparedStatement接口的)。在这种情况下,自动提交
能
设置为真
请发一封信。您可能没有禁用自动提交模式。