使用ODT 11.2.3.20正确安装Oracle ODAC

时间:2017-01-04 17:08:42

标签: oracle oracle11g odp.net

好的 - 我在运行Windows 7 Enterprise的32位开发人员计算机上安装了VS 2012和VS 2013,并尝试连接到Oracle 9数据库。我可以毫无问题地安装版本12.1.0.24,并且我可以通过服务器数据连接工具等使用ODP.NET托管和非托管驱动程序连接到大多数数据库。问题是我还必须构建连接到旧版Oracle数据库服务器的应用程序实例,并且确实需要较旧版本的VS Tools和ODP.NET / ODAC,即11.2.3.20。这似乎安装正确,但是当您尝试构建新的数据连接时,默认的数据提供程序是“.NET Framework Data Provider for Oracle”“Oracle Data Provider for .NET”有一个选项,但似乎没有办法指定tnsnames.ora位置,“数据源名称”组合中唯一可用的选项是“(本地数据库)。”

此外,还没有为提供商选择托管或非托管的选项。有人可以告诉我做正确的工作吗?我是否需要手动进行机器范围的配置,12.1.0.24的安装程序会自动执行吗?

1 个答案:

答案 0 :(得分:0)

通常不需要安装多个Oracle客户端(分别为32位和64位一个)。您可以使用12.1客户端连接到较旧的数据库(对于托管驱动程序,数据库必须为10.2或更高版本)。

您很可能搞砸了Oracle安装,将它们全部删除并从头开始安装一个版本。

为了让您的应用程序独立于已安装的Oracle客户端打开* .csproj,resp。 * .vbproj文件和编辑对ODP.NET的引用,如下所示:

<Reference Include="Oracle.DataAccess">
  <SpecificVersion>False</SpecificVersion>
  <Private>False</Private>
</Reference>

不需要Version=...processorArchitecture=...等属性。您的应用程序将加载正确的Oracle.DataAccess.dll,具体取决于所选的体系结构和目标.NET框架(前提是它已正确安装)

&#34; Oracle.DataAccess&#34;和#34; Oracle.ManagedDataAccess&#34;是不同的程序集,所以你不能无缝使用它们 - 除非你使用DbProviderFactory等等。