Simple.Data与Oracle

时间:2012-08-23 14:52:05

标签: oracle simple.data

我已经创建了一个基本的控制台应用程序,用于针对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();
    }
}

的app.config:

<?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确实存在。

我错过了什么?

1 个答案:

答案 0 :(得分:2)

您错过了providerName属性。

<connectionStrings>
    <add name="MyConnectionString" 
         connectionString="user id=SomeUser;password=SomePwd;data source=MyTNS" 
         providerName="Oracle.DataAccess.Client"
         />
  </connectionStrings>