Как исправить «System.TypeInitializationException» ошибка в коде подключения C # к OracleDB

#c# #oracle

#c# #Oracle

Вопрос:

Я настраиваю небольшой сценарий мониторинга, который должен проверять, доступен ли OracleDB. У нас запланировано несколько ежедневных экспортов в эту базу данных с помощью Taskscheduler, который иногда выдает ошибку (просто тайм-аут, никаких дальнейших записей там). Я хочу провести собственное исследование, и я решил периодически проверять, есть ли соединение, а затем сравнить это с ошибкой другой команды моего отдела.

Я попробовал некоторый код, на который ссылается эта ссылка Oracle How to. Я также установил инструменты разработчика VS2017 для 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.

Комментарии:

1. Какое пространство имен вы используете? Oracle. Доступ к данным или Oracle. ManagedDataAccess?

2. использование Oracle. Управляемый доступ к данным. Клиент;

3. Я думаю, что обычно существует внутреннее исключение, которое содержит фактические детали проблемы.

4. обновлено… но какой файл он хочет найти ?!

5. Какая версия Oracle. Вы используете ManagedDataAccess?