4

我在表中有一列的列名是INSTANCE_GUID 它的原始数据类型。

我正在编写一个准备好的语句选择查询并设置 INSTANCE_GUID

pstatement.setString(instanceGuid);

但这是设置原始数据类型的正确方法吗?请让我知道如何设置原始数据类型,我应该使用 setByte 吗?

谢谢

4

1 回答 1

4

Oracle JDBC Developer's guide and reference 11g中所述,当使用RAW列时,您可以将其视为 aBINARYVARBINARYJDBC 类型,这意味着您可以使用 JDBC 标准方法getBytes()并且setBytes()返回或接受byte[]. setBytes()将接受一个长数组(> 4000 字节)。

其他选项是使用 Oracle 驱动程序特定的扩展getRAW()( oracle.jdbc.OracleResultSet) 和setRAW()( oracle.jdbc.OraclePreparedStatement),它们返回或接受oracle.sql.RAW. 使用这两个将要求您解包和/或转换为特定的 Oracle 实现类。

要创建一个,只需调用new oracle.sql.RAW(byte[]).

于 2012-12-06T14:01:44.067 回答