我创建了一个基本的控制台应用程序,用于玩Simple。针对Oracle服务器的数据。但是,当尝试打开连接时,我会遇到以下错误:"找不到ADO提供程序。"
我安装了以下NuGet软件包:
- 很简单。数据Core(版本0.17.0.1)
- 很简单。数据Ado(版本0.17.0.1)
- 很简单。数据Oracle(版本0.17.0.0)
- 的Oracle数据提供程序。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确实存在。
我错过了什么?
您错过了providerName
属性。
<connectionStrings>
<add name="MyConnectionString"
connectionString="user id=SomeUser;password=SomePwd;data source=MyTNS"
providerName="Oracle.DataAccess.Client"
/>
</connectionStrings>