希望任何人都有类似的经历。
我有一个应用程序,使用Oracle提供的ODBC驱动程序。在11 g和12 c版本中运行完美。
尝试使用Oracle ODBC 19 c对Oracle 19 c(服务器和客户端19 c版本)进行测试。ODBC日志显示错误:ConsolidationTe 31c0-1afc EXIT SQLGetDiagRecW with return code -2 (SQL_INVALID_HANDLE) SQLSMALLINT 3 <SQL_HANDLE_STMT> SQLHANDLE 0x00000220BF093FA0 SQLSMALLINT 1 SQLWCHAR * 0x0000006122EEC240 SQLINTEGER * 0x00000220BEBE270C SQLWCHAR * 0x0000006122EEC250 SQLSMALLINT 511 SQLSMALLINT * 0x0000006122EEC1F0
还有一些简单的代码AppServ 1338-b1cc ENTER SQLFetchScroll SQLHSTMT 0x01077150 SQLSMALLINT 5 <SQL_FETCH_ABSOLUTE> SQLLEN 1
只是为了测试我安装在不同的机器上,我安装了12 c和19 c客户端,但使用19 c服务器。当我切换到12 c客户端驱动程序,一切正常工作,但使用19 c,同样的错误如上所述发生。
需要帮助,我如何才能真正查明19 c驱动程序是实际的问题?或者我需要改变一些对我们10年以上的旧代码。
提前感谢!
2条答案
按热度按时间o3imoua41#
最有可能的是您使用的是
{Microsoft ODBC for Oracle}
驱动程序。这是deprecated的年龄,现在与Oracle 18/19的时间已经到了哪里是不工作了。使用Oracle提供的ODBC驱动程序,很可能名为
{Oracle in OraClient19c_home1}
或类似名称。xn1cxnb42#
我遇到了类似的问题,并观看了这个视频。它显示了一个不同的连接字符串语法。我希望它也能帮助你。
https://www.youtube.com/watch?v=NAfJzPIaFFQ