ODBC C ++(Visual Studio 2010)当Oracle 11g PL / SQL存储过程将BLOB作为OUT参数时,SQLPrepare(。)返回SQL_ERROR

时间:2015-09-14 20:57:50

标签: c++ oracle11g odbc parameter-passing blob

你是否有人知道为什么在BLCH类型用于PL / SQL存储过程OUT参数时,ODBC SQLPrepare(。)中的调用使SQLExecute(。)失败(返回SQL_ERROR),而VARCHAR2,NUMBER等。 OUT参数可以正常工作吗?从Oracle(SQL Developer)中调用时,带有BLOB OUT参数的存储过程可以正常工作。

我的C ++代码: sqlReturnCode = SQLPrepare(OracleStatementHandle,(SQLCHAR *)“{call package_one.param_test_proc(?)}”,SQL_NTS);

1 个答案:

答案 0 :(得分:0)

我们的一位DBA发现了我们正在使用的驱动程序:

https://msdn.microsoft.com/en-us/library/ms713590%28v=vs.85%29.aspx

“重要 此功能将在Windows的未来版本中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。而是使用Oracle提供的ODBC驱动程序。“

有支持说明明确声明它们不支持CLOB / BLOB数据类型等: https://msdn.microsoft.com/en-us/library/ms710205%28v=vs.85%29.aspx