我正在尝试使用参数化 SQL 查询将 Guid 写入 Oracle 中的 RAW(16) 字段。
之前读取了 RAW(16),它作为一个变体字节数组(类型 VT_ARRAY | VT_UI1)从数据库中出来。因此,我现在尝试将一个值写回一个字节数组。
我的变体设置为 VT_ARRAY | 再次使用 VT_UI1,并使用 adUnsignedTinyInt | 调用 CreateParameter 广告数组。
不幸的是,这会抛出 0X800A0D5D 代码。
我还尝试使用“HEXTORAW('0000000000000000')”作为 BSTR 参数编写参数,在对 CreateParameter 的调用中使用 adBSTR。这次 CreateParameter 成功了,但是 _ADODB::CommandPtr 上的调用 Execute 然后引发了错误。
请有人指导我如何使用参数化 SQL 查询(理想情况下通过 C++ 使用 ADO)将 Guid 写入 Oracle 的 RAW(16)?