我在表中有一列的列名是INSTANCE_GUID 它的原始数据类型。
我正在编写一个准备好的语句选择查询并设置 INSTANCE_GUID
pstatement.setString(instanceGuid);
但这是设置原始数据类型的正确方法吗?请让我知道如何设置原始数据类型,我应该使用 setByte 吗?
谢谢
如Oracle JDBC Developer's guide and reference 11g中所述,当使用RAW
列时,您可以将其视为 aBINARY
或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[])
.