3
我想從Oracle數據庫檢索OrdImage對象使用選擇雙表(從雙重選擇ordsys.ordimage.init())由於OrdImageSinature創建用於IMGSimilar運算符中的搜索目的。問題是,在的ORDImage代理存儲數據後,我得到這個錯誤:初始OrdImage對象,而不插入任何東西到數據庫
java.sql.SQLException: ORA-22275: invalid LOB locator specified
ORA-06512: at "SYS.DBMS_LOB", line 797
ORA-06512: at "ORDSYS.ORDSOURCE", line 778
ORA-06512: at "ORDSYS.ORDIMAGE", line 508
ORA-06512: at line 1
我的代碼如下:
Statement statement = connection.createStatement();
OracleResultSet result = (OracleResultSet) statement.executeQuery("SELECT ordsys.ordimage.init(), ordsys.ordimagesignature.init() FROM DUAL");
if (result.next()) {
OrdImage imageProxy = (OrdImage) result.getORAData(1, OrdImage.getORADataFactory());
OrdImageSignature imageSignatureProxy = (OrdImageSignature) result.getORAData(2, OrdImageSignature.getORADataFactory());
statement.close();
result.close();
imageProxy.loadDataFromByteArray(image.write().toByteArray()); //this line invokes error
imageProxy.setProperties();
imageSignatureProxy.generateSignature(imageProxy);
//here will be performed search operation
}
圖片我在imageProxy我將是在HDD本地存儲(它不是存儲在數據庫中)。是否有任何解決方法如何創建OrdImageSignature而不創建OrdImage來繞過此錯誤或如何解決它?
非常感謝!