如何修复到OracleDB的C#连接代码中的“ System.TypeInitializationException”错误

时间:2019-04-17 08:48:08

标签: c# oracle

我正在设置一个小的监视脚本,该脚本将检查OracleDB是否可访问。 我们计划使用Taskscheduler对该数据库进行每日几次导出,有时会出现错误(只是Timeout,在那里没有进一步的日志记录)。我想自己做一些研究,因此我决定定期检查是否存在连接,然后将其与本部门其他团队的错误进行比较。

我尝试了此链接Oracle How to中引用的一些代码。我还按照说明安装了VS2017 Developer Tools for Oracle。

我将代码更改为数据库,并且发生以下错误:

System.TypeInitializationException: 'The type initializer for 'OracleInternal.Common.ProviderConfig' threw an exception.'

这是我的代码:

string conString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=xxx)(Port=xxx)))(CONNECT_DATA=(SERVICE_NAME=xxx)));User Id=xx;Password=xx;";

OracleConnection con = new OracleConnection();
con.ConnectionString = conString;
con.Open();

OracleCommand cmd = con.CreateCommand();
cmd.CommandText = "select first_name from employees where department_id = 60"; // some query

OracleDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
    Console.WriteLine("Employee Name: " + reader.GetString(0)); // some output
}
Console.ReadLine();

InnerException:

FileNotFoundException: Could not load file or assembly 'System.Configuration.ConfigurationManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Das System kann die angegebene Datei nicht finden.

0 个答案:

没有答案