【发布时间】:2015-09-19 03:07:15
【问题描述】:
当 BLOB 类型用于 PL/SQL 存储过程 OUT 参数而 VARCHAR2、NUMBER 等时,您是否知道为什么 ODBC SQLPrepare(.) 中的调用会导致 SQLExecute(.) 失败(返回 SQL_ERROR)?作为 OUT 参数可以正常工作吗?从 Oracle (SQL Developer) 中调用带有 BLOB OUT 参数的存储过程可以正常工作。
我的 C++ 代码: sqlReturnCode = SQLPrepare(OracleStatementHandle, (SQLCHAR*)"{call package_one.param_test_proc(?)}", SQL_NTS);
【问题讨论】:
-
如何绑定对应的缓冲区?我猜你首先调用 SQLBindParamater(...);然后调用 SQLPrepare?如果是,你能告诉我们你是如何绑定 BLOB 参数的吗?我猜这个错误是由不正确的绑定引起的。
-
我找到了原因(请参阅下面答案部分中的原因)。感谢您关注这个问题! (:
标签: c++ oracle11g odbc parameter-passing blob