【问题标题】:.NET Oracle, error on Oracle.DataAccess unmanaged.NET Oracle,Oracle.DataAccess 非托管错误
【发布时间】:2018-10-02 16:31:03
【问题描述】:

我尝试使用 Oracle.DataAccess.dll 将我的应用程序连接到 Oracle 数据库,但我收到一条消息 =>“提供程序与 Oracle 客户端的版本不兼容”。

try
{
    var str = new OracleConnectionStringBuilder()
    {
        DataSource = "MyDatabase",
        UserID = "system",
        Password = "manager",
        Pooling = false,
    };
}
catch (Exception ex)
{
   //The provider is not compatible with the version of Oracle client
}

首先,我可以连接 Oracle.ManagedDataAccess.dll,但我需要使用 BulkCopy,所以我需要使用 Oracle.DataAccess.dll 和 Oracle 客户端。

我已经安装了 Oracle 客户端 12.2,我可以使用 SQLPlus 连接到 Oracle Database 10g Express Edition Release 10.2

我不明白这个错误是从哪里来的。 你能帮帮我吗?

感谢您的回答

【问题讨论】:

  • 你机器上的oracle客户端是32位还是64位架构的?那么您的 .NET 应用程序呢,您运行的是 32 位还是 64 位?
  • 可能有多种原因,请参阅stackoverflow.com/questions/659341/…

标签: c# .net oracle


【解决方案1】:

您需要使用匹配版本的 ODAC 从 Dotnet 应用程序连接到 Oracle

https://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html

【讨论】:

  • 感谢您的回答,我已经安装了ODTwithODAC122011,将OracleHome的路径添加到我的环境变量“PATH”和“ORACLE_HOME”OracleHome安装在D:磁盘上,可能是错误?跨度>
  • @Maverick 尝试将OracleHomeOracleHome\bin 添加到您的PATH 环境变量中。
【解决方案2】:

感谢 Wernfried Domscheit 的回答! => The provider is not compatible with the version of Oracle client

问题来自机器上安装的 Oracle.DataAccess.dll 和 ODAC 版本。

并将 OracleHomeOracleHome\bin 添加到您的 PATH 环境变量中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 2011-03-13
    • 2020-07-11
    相关资源
    最近更新 更多