目前,我正在进行一个项目,最近我们在测试服务器上将Oracle版本从11g升级到12c,以及本地开发设置。
在对本地设置进行升级之后,我将ODAC (主要用于Oracle.DataAccess.dll)升级为使用12c 32位版本。在我终于能够重新连接到我的DB之前,它经过了一些尝试和错误,以及卸载和重新安装ODAC。
我们现在正在研究更新测试服务器的ODAC。我昨天完成了安装,和我的本地用户一样,我无法与DB连接。
我已经把tnsnames.ora文件放到了它正确的位置,这个文件只是原始文件的一个副本。我使用了一个测试程序来确定我是否能够打开一个连接,我可以使用新的Oracle.DataAccess.dll。但是,当我试图将它导入到主站点时,我们无法连接。即使在我删除原始引用之后,也会添加指向Oracle.DataAccess.dll位置的新引用。
我的一位同事提到,我们有哪个版本的ODAC (11g或12c)并不重要,11g版本应该能够与12c DB连接,没有问题。我有点怀疑这一点,因为他过去曾就其他问题发表过这样的声明,同时他也同意我们最初需要对ODAC进行升级。
这是真实的说法吗?如果没有,除了重新卸载和重新安装之外,我是否可以采取任何步骤来解决这个问题?不应该花那么大力气,亲爱的。
更新:我已经确认我的同事是正确的,使用12c Oracle DB上的11g ODAC确实有效。但是,lol,在我和他进一步谈谈之前,他把它卸载了,所以是的.
即使在删除了11G的ODAC之后,我仍然发现了类似的问题。我的同事也清理了注册表条目,其中有大约11g参考,但我们仍然有问题。
最新情况(2017年8月8日):这一问题终于得到解决。我安装的12 c ODAC与在服务器上使用的Visual i版本不兼容(VS 2012)。在研究了ODAC的需求之后,我发现了这一点,并且眼睁睁地看着它的实现。我们卸载了12c ODAC并重新安装了11g ODAC。现在一切正常。
我已经要求对VS进行升级,所以在未来我们确实有一个兼容的版本可供使用。是啊,这不太可能发生,亲爱的.
发布于 2017-08-08 13:18:41
这个问题的答案是VS 2012和12c ODAC之间的兼容性。在重新阅读了12c ODAC的规范之后,我发现我们服务器上的Visual版本没有涵盖。我们有VS 2012,ODAC没有返回(至少对于我们发布的ODAC版本),因此出现了问题。
在发现这一点之后,我们回到了11gODAC,它仍然与一个12c DB一起工作。
https://stackoverflow.com/questions/45331756
复制相似问题