你是否有人知道为什么在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);
答案 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