我在表中有一列的列名是INSTANCE_GUID 它的原始数据类型。
我正在编写一个准备好的语句选择查询并设置 INSTANCE_GUID
pstatement.setString(instanceGuid);
但这是设置原始数据类型的正确方法吗?请让我知道如何设置原始数据类型,我应该使用 setByte 吗?
谢谢
如Oracle JDBC Developer's guide and reference 11g中所述,当使用RAW列时,您可以将其视为 aBINARY或VARBINARYJDBC 类型,这意味着您可以使用 JDBC 标准方法getBytes()并且setBytes()返回或接受byte[]. setBytes()将接受一个长数组(> 4000 字节)。
其他选项是使用 Oracle 驱动程序特定的扩展getRAW()( oracle.jdbc.OracleResultSet) 和setRAW()( oracle.jdbc.OraclePreparedStatement),它们返回或接受oracle.sql.RAW. 使用这两个将要求您解包和/或转换为特定的 Oracle 实现类。
要创建一个,只需调用new oracle.sql.RAW(byte[]).