我正在尝试使用参数化的SQL查询将Guid写入Oracle中的RAW(16)字段。
之前读取 RAW(16) 后,它以字节的变体数组(类型 VT_ARRAY |VT_UI1)。 因此,我现在尝试将值写回字节数组。
我的变体设置为VT_ARRAY |再次VT_UI1,并使用 adUnsignedTinyInt | 调用 CreateParameter广告阵列。
不幸的是,这会抛出0X800A0D5D代码。
我还尝试使用"HEXTORAW('000000000000000000')"作为BSTR参数编写参数,在调用CreateParameter时使用adBSTR。 这次 CreateParameter 成功了,但对 _ADODB:CommandPtr 的调用 Execute 随后抛出了错误。
请有人指导我如何使用参数化 SQL 查询将 Guid 写入 Oracle 的 RAW(16)(理想情况下使用 ADO,C++)?
我已经使用 VT_ARRAY |VT_UI1在我的变体中,将adBinary作为数据类型传递给CreateParameter。
还有一个机会(从我读过的其他内容来看)Oracle 会对一个只包含十六进制表示法的二进制数据的普通 BSTR 参数感到满意。