gpt4 book ai didi

c# - .NET 4.6 Oracle.ManagedDataAccess 要求

转载 作者:太空宇宙 更新时间:2023-11-03 15:06:52 38 4
gpt4 key购买 nike

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

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

目前,我们总是为大约 1.2 GB 的应用程序安装“完整的”Oracle Administrator 客户端,但是要使我们的应用程序与 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 位应用程序一起工作,反之亦然?

最佳答案

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

<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,则无需担心。

关于c# - .NET 4.6 Oracle.ManagedDataAccess 要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43054955/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com