0
我有一個字節[]這實際上是一個圖像。字節[]要存儲在Oracle
我想將它存儲在Oracle 11g中。我在表中創建了一個BLOB列。並通過以下我試圖插入它。
String imageStr = "xyz...." byte[] data = imageStr.getBytes(); String sQuery = "insert into Table (LOCATION , BLOB_DATA) Values ('Lahore', data) ";
它拋出異常 「值java.sql.SQLException:ORA-01465:無效的十六進制數」
我搜索了一下,發現這種類型的查詢應通過完成PreparedStaement。
,所以我做了以下
PreparedStatement prepStmt = dbConnection.prepareStatement("insert into Table (LOCATION, BLOB_DATA) values(?,?); prepStmt.setString(1, 'Lahore'); prepStmt.setBytes(2, bytes);
我開始對dbConnection.prepareStatement(字符串)得到錯誤,因爲DBConnection的類不是Java本機類的東西。
它是由早期開發人員爲數據庫連接製作的自定義類,它沒有prepareStatement(String)函數。
那麼現在該怎麼做?
1.我應該在DBConnection類中創建一個prepareStatement(String)方法嗎?
2.我應該採取第一種方法嗎?
通知「連接C」在你的代碼是java.sql.Connection中; 所以你得到con.prepareStatement()的本地方法; 但在My Case Connection中是DBConnection con的一個實例; DBConnection是由以前的開發人員製作的自定義類。 哪些沒有con.prepareStatement();方法 –
是不是你把你的整個代碼包括DBConnection – constantlearner
希望我可以.. 這是一個大的大類.. 大約6000行。 幷包含一些客戶端信息,這就是爲什麼。 你能給我你最後的SQL查詢嗎? 所以我可以通過在Oracle上運行來檢查它。 所以我可以確保數據庫部分工作正常 –