Я хочу подключить 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 на локальном компьютере и что не так с моим кодом?

0
terrizer 7 Май 2013 в 04:54
У вас есть драйвер oracle odbc, который не установлен на вашем компьютере? Я не думаю, что ваша строка подключения верна. Зайдите сюда, connectionstrings.com/oracle
 – 
OldProgrammer
7 Май 2013 в 05:52

1 ответ

Лучший ответ

Попробуйте загрузить и установить компоненты доступа к данным Oracle. Вот ссылки на 32-разрядную версию и 64-разрядные версии. Кроме того, исходя из личного опыта, я бы использовал адаптер oracle OleDb вместо этого, но это потому, что у меня возникли проблемы с подключением к кластерам RAC с другими адаптерами.

Изменить: вы также столкнетесь с проблемами при развертывании приложения в среде, в которой не установлен ODAC, поэтому здесь еще несколько советуем прочитать.

0
wakers01 7 Май 2013 в 07:48