0

我创建了一个基本的控制台应用程序,用于在 Oracle 服务器上使用 Simple.Data。但是,在尝试打开连接时出现以下错误:“未找到 ADO 提供程序”。

我安装了以下 NuGet 包:

  • Simple.Data.Core(版本 0.17.0.1)
  • Simple.Data.Ado(版本 0.17.0.1)
  • Simple.Data.Oracle(版本 0.17.0.0)
  • Oracle Data Provier for .NET (ODP.NET) x86(版本 112.3.0)(也尝试了 x64 但无济于事)

这是我的代码:

class Program
{
    static void Main(string[] args)
    {
        string connectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
        var db = Database.OpenConnection(connectionString); // this is where I get the error
        var list = db.MyTable.All().ToList();
    }
}

应用程序配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="MyConnectionString" connectionString="user id=SomeUser;password=SomePwd;data source=MyTNS" />
  </connectionStrings>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.112.3.0" newVersion="4.112.3.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

MyTNS 确实存在。

我错过了什么?

4

1 回答 1

2

你错过了这个providerName属性。

<connectionStrings>
    <add name="MyConnectionString" 
         connectionString="user id=SomeUser;password=SomePwd;data source=MyTNS" 
         providerName="Oracle.DataAccess.Client"
         />
  </connectionStrings>
于 2012-08-23T14:57:27.853 回答