我的团队正在尝试从ORACLE 10g迁移到11g。这些是我们的系统规格:
我们当前的制作服务器:
ORACLE 10.2g
ORACLE Application Express(3.0)
Apache
Red Hat 64 bit
我们的新服务器(尚未投入生产):
ORACLE 11.2g
ORACLE Application Express (4.1.1)
ORACLE HTTP Server
Red Hat 64 bit
我们设法设置11g,安装APEX 4.1并应用最近的补丁集。 延迟迁移的唯一一点就是我们的业务用户可以访问用于连接数据库的Crystal Reports XI,MS Access / Excel 2003。典型用户具有Window XP SP 3(32位)操作系统。目前我们正在使用Microsoft ODBC for Oracle驱动程序(版本2.575.1132.00)连接到我们的10g数据库并且没有任何问题。但是当我们尝试连接到11g时,我们不断收到ORA-03113:通信通道错误的文件结束。在ORACLE SQL Developer中,我们可以使用“基本”连接连接到我们的11g实例。我也使用了“TNS”条目,效果很好。
我认为业务用户通过安装用于另一个Oracle DB的ORACLE Discover 3.1.3.6获得了Microsoft ODBC for Oracle驱动程序。他们还有Oracle Client 7.3.3,我可以在ODBM数据源管理屏幕中看到Oracle73(2.00.03.01)。
我们已经尝试使用Google搜索结果,经过各种测试后,我们得出结论,这是一个ODBC驱动程序问题。据我们所知,ORACLE SQL Developer使用不同的基于JAVA的驱动程序进行连接,因此它不使用Microsoft版本。
有人可以确认我们对Microsoft ODBC for Oracle驱动程序(版本2.575.1132.00)和11.2g存在兼容性问题的理解是否正确? 如果是这样,你可以推荐一个兼容的驱动程序与Crystal和Access / excel一起使用来提取数据?
我认为业务用户通过安装用于另一个Oracle DB的ORACLE Discover 3.1.3.6获得了Microsoft ODBC for Oracle驱动程序。他们还有Oracle Client 7.3.3,我可以在ODBM数据源管理屏幕中看到Oracle73(2.00.03.01)。
答案 0 :(得分:3)
用于Oracle的Microsoft ODBC驱动程序是使用古老版本的OCI(Oracle调用接口)API编写的,该API在Oracle 8发布时已被弃用(超过十年和11个主要版本之前)。 Microsoft选择取消支持此驱动程序,而不是将其移植到新版本的OCI API。 Oracle 7客户端可以连接到Oracle 10.2数据库,但Oracle不支持Oracle 7客户端和Oracle 11.2数据库之间的连接。
您需要升级业务用户计算机上安装的Oracle客户端版本,并且您将需要使用适用于该客户端版本的最新版本的Oracle ODBC驱动程序。假设您安装了11.2版本的Oracle客户端(如果用户仍然需要连接到不支持来自11.2客户端的连接的旧数据库,那么不能一直升级到11.2客户端的唯一原因)我想使用最新版本的11.2.0.x Oracle ODBC driver。 Oracle客户端安装还应该具有安装Oracle ODBC驱动程序版本的选项 - 这也应该足够了。