2

使 .NET 4.6 应用程序与 Oracle 一起工作的最低要求到底是什么?

我们已经在使用 Oracle.ManagedDataAccess 客户端。我们使用实体框架和数据集(TableAdapters,...)进行数据访问。

目前,我们总是为我们的应用程序安装“完整的”Oracle Administrator 客户端,大约有 1.2 GB,但是让我们的应用程序与 Oracle 一起工作真正需要什么?

Oracle.ManagedDataAccess 驱动程序的 Nuget 页面显示“无需安装其他 Oracle 客户端软件即可连接到 Oracle 数据库”。 https://www.nuget.org/packages/Oracle.ManagedDataAccess/

但是当我在 Visual Studio 中打开我的应用程序时,出现以下错误:

The ADO.NET provider with invariant name 'Oracle.ManagedDataAccess.Client' is either not registered in the machine or application config file, or could not be loaded. See the inner exception for details.

我试图在 Oracle 文档中弄清楚它,但没有机会这样做,这太令人困惑了。

此外:64 位托管 Oracle 客户端也可以与 32 位应用程序一起使用,反之亦然?

4

1 回答 1

0

我现在没有可用的 Oracle 来验证这是否完全正确,所以提前道歉。您可能需要调整版本号或公钥令牌等。

<configuration
  <system.data>
    <DbProviderFactories>
      <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    </DbProviderFactories>
  </system.data>
</configuration>

上述配置将托管 Oracle 驱动程序注册为提供程序,应该可以解决您的问题。无需安装完整的 Oracle 客户端,因为托管驱动程序已完全包含在内。32 位和 64 位无关紧要,因为无论如何它都在托管代码中。

请注意,托管驱动程序不会安装Database First 使用的 Visual Studio 中各种设计器所需的工具。为此,您需要完整的 Oracle 客户端。如果您正在执行 Code First,则不必担心。

于 2017-03-27T19:42:43.050 回答