#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?