通过ODBC访问Oracle XmlType列,使用4K上的数据

时间:2018-03-14 13:02:13

标签: oracle odbc xmltype

我们的旧版C ++ ODBC应用程序最近添加了对XML数据列的支持(MS SQL Server中的数据类型xml,Oracle中的XmlType)。我们用过

SQLBindParameter( hStmt, i, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, ... )

用于我们的插入/更新查询,以及

SQLBindCol( hStmt, i, SQL_C_CHAR, ... )

我们的选择。虽然XML数据仍然很小,但这在DBMS上都运行良好。 MS SQL Server也可以毫无问题地处理更大的XML数据,但在Oracle上我们遇到了字符串文字的4K限制。

我们意识到我们可以在Oracle中使用CLOB列(在MS SQL上使用varchar(max))来存储与SQL_LONGVARCHAR绑定的更大的XML数据。但是,我们只能在下一个主要版本中更改数据库架构。

有没有办法让Oracle通过ODBC处理4K字符数据,同时将列保持为XmlType?

我在PL / SQL中发现了各种变通方法,但没有任何适用于ODBC的方法。尝试使用将参数中的CLOB作为帮助程序的PL / SQL存储过程仅导致相同的

ORA-01461: can bind a LONG value only for insert into a LONG column

我们在直接尝试绑定列时也会收到错误消息。

0 个答案:

没有答案