Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用不同版本的ODAC连接到Oracle_C#_Oracle11g_Oracle12c_Odac - Fatal编程技术网

C# 使用不同版本的ODAC连接到Oracle

C# 使用不同版本的ODAC连接到Oracle,c#,oracle11g,oracle12c,odac,C#,Oracle11g,Oracle12c,Odac,目前,我正在进行一个项目,我们最近刚刚在测试服务器上将Oracle版本从11g升级到12c,以及我的本地开发设置 在本地安装程序升级后,我将ODAC(主要用于Oracle.DataAccess.dll)升级为使用12c 32位版本。在我终于能够重新连接到我的数据库之前,我进行了一些尝试和错误,并卸载和重新安装了ODAC 我们现在正在考虑更新测试服务器的ODAC。我昨天执行了安装,与我的本地用户一样,我无法连接数据库 我已经将tnsnames.ora文件放在了适当的位置,这个文件只是原始文件的一个

目前,我正在进行一个项目,我们最近刚刚在测试服务器上将Oracle版本从11g升级到12c,以及我的本地开发设置

在本地安装程序升级后,我将ODAC(主要用于Oracle.DataAccess.dll)升级为使用12c 32位版本。在我终于能够重新连接到我的数据库之前,我进行了一些尝试和错误,并卸载和重新安装了ODAC

我们现在正在考虑更新测试服务器的ODAC。我昨天执行了安装,与我的本地用户一样,我无法连接数据库

我已经将tnsnames.ora文件放在了适当的位置,这个文件只是原始文件的一个副本。我使用了一个测试程序来确定我是否可以打开一个连接,我可以使用新的Oracle.DataAccess.dll打开这个连接。但是,当我尝试将其导入到主站点时,我们无法连接。即使在我删除了原始引用,添加了指向Oracle.DataAccess.dll位置的新引用之后,也会出现这种情况

我的一位同事提到,无论我们有什么版本的ODAC(11g或12c),11g版本都应该能够与12CDB连接,仍然没有问题。我有点怀疑这一点,因为他过去曾在其他问题上发表过这样的声明,同时他也同意我们最初需要升级ODAC

这是真的吗?如果没有,除了卸载和重新安装之外,我是否可以采取任何步骤来解决此问题?这不应该需要那种努力,哈哈

更新: 我已经确认我的同事是正确的,在12c Oracle DB上使用11g ODAC确实有效。然而,哈哈,我还没来得及和他进一步讨论,他就把它卸载了,所以是的

即使在移除11g的ODAC后,我仍然发现类似的问题。我的同事还清理了一些有11g引用的注册表项,但我们仍然有问题

更新(2017年8月8日): 这个问题终于解决了。我安装的12c ODAC与我在服务器上使用的Visual Studio版本不兼容(VS 2012)。在浏览了ODAC的需求之后,我发现了这一点,并开始关注这一点。我们卸载了12c ODAC,并重新安装了11g ODAC。现在一切正常


我已经要求升级VS,只是为了将来我们有一个兼容的版本可以使用。是的,这不太可能发生,哈哈…

问题的答案是VS 2012和12c ODAC之间的兼容性。在重新阅读了12c ODAC的规格之后,我发现我们服务器上的Visual Studio版本并未涵盖在内。我们有VS 2012,ODAC并没有回到它(至少对于我们的ODAC发布版本),因此这个问题


找到这一点后,我们回到了11g ODAC,它仍然可以使用12c DB。

那么这里的问题是什么?