Я хочу подключить Oracle Database на платформе .net с помощью C #
И вот код
_connectionString = "Provider=MSDAORA.1;Data Source=yong;User ID=XXXX;Password=XXXX";
using (OdbcConnection sqlConnection = new OdbcConnection(_connectionString))
{
using (OdbcDataAdapter adapter = new OdbcDataAdapter())
{
try {
adapter.SelectCommand = new OdbcCommand(cmdText, sqlConnection);
adapter.SelectCommand.CommandType = commandType;
adapter.SelectCommand.CommandTimeout = _commandTimeOut;
adapter.SelectCommand.Connection.Open();
adapter.Fill(dtResult);
}
catch (Exception ex)
{
throw ex;
}
}
}
Когда я пробую этот код, он выдает ошибку, например
"провайдер msdaora.1 'не зарегистрирован на локальной машине"
Я не понимаю, в чем проблема и как это исправить. Как мне зарегистрировать поставщика msdaora.1 на локальном компьютере и что не так с моим кодом?
1 ответ
Попробуйте загрузить и установить компоненты доступа к данным Oracle. Вот ссылки на 32-разрядную версию и 64-разрядные версии. Кроме того, исходя из личного опыта, я бы использовал адаптер oracle OleDb вместо этого, но это потому, что у меня возникли проблемы с подключением к кластерам RAC с другими адаптерами.
Изменить: вы также столкнетесь с проблемами при развертывании приложения в среде, в которой не установлен ODAC, поэтому здесь еще несколько советуем прочитать.
Похожие вопросы
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.