我在表列名中有一列是INSTANCE_GUID的原始數據類型。通過準備語句設置RAW數據類型
我寫一份聲明中選擇查詢並設置INSTANCE_GUID
pstatement.setString(instanceGuid);
但是,這是設置原始數據type.Please讓我知道如何設置RAW數據類型,我應該使用setByte的正確方法?
由於
我在表列名中有一列是INSTANCE_GUID的原始數據類型。通過準備語句設置RAW數據類型
我寫一份聲明中選擇查詢並設置INSTANCE_GUID
pstatement.setString(instanceGuid);
但是,這是設置原始數據type.Please讓我知道如何設置RAW數據類型,我應該使用setByte的正確方法?
由於
如Oracle JDBC Developer's guide and reference 11g所描述的,使用RAW
列時,就可以把它作爲一個BINARY
或VARBINARY
JDBC類型,這意味着可以使用JDBC標準方法getBytes()
和setBytes()
返回或接受byte[]
。 setBytes()
將接受一個長陣列(> 4000字節)。
其他選項是使用Oracle驅動程序的特定擴展getRAW()
(oracle.jdbc.OracleResultSet
)和setRAW()
(oracle.jdbc.OraclePreparedStatement
),它返回或接受oracle.sql.RAW
。使用這兩個將需要您解包和/或轉換爲特定的Oracle實現類。
要創建一個,請致電new oracle.sql.RAW(byte[])
。
哪個接口定義'setRAW()'? –
@AaronDigulla它由'oracle.jdbc.OraclePreparedStatement'(和''oracle.jdbc.OracleResultSet''設置'getRAW') –
謝謝,請驗證我的編輯。我可以使用'PreparedStatement.setBytes()'將13MB'byte []'數組插入表中。這樣,這種過時的數據類型比LOB好。 –
'setObject()'? – 2012-12-06 09:59:13
什麼是原始數據類型? –
http://www.adp-gmbh.ch/ora/misc/datatypes/raw.html – constantlearner