Вы должны убедиться, что ваша установка Oracle настроена правильно.У меня есть несколько утилит, которые могут помочь с этим.
Шаг 1 -
Приведенные ниже утилиты сначала подтвердят, что .net работает с Oracle на вашем сервере http://tsells.wordpress.com/2010/02/18/oracle-connection-tester-for-net-applications/
Шаг 2 -
Если вышеуказанная утилита сработала - перейдите к шагу 3. В противном случае .net не может увидеть оракула на этом компьютере.Сначала проверьте ваш путь - убедитесь, что каталог oracle bin указывает на правильный каталог.Если нет - измените его и попробуйте снова.
Если это не сработает - я рекомендую полностью удалить oracle и переустановить.Выполните следующие действия.
Остановите все службы (start - run - services.msc) ниже, которые работают
- oracle mts recovery
- Координатор распределенных транзакций
Удалить все каталоги оракула из файловой системы (C: \ app, C: \ Program Files | C: \ Program Files (x86 (
) Удаление записей Oracle из системного пути
Удаление всех записей Oracle из переменных среды (если они существуют), таких как ORACLE_HOME
Откройте редактор реестра (start - run - regedit) и удалите все записи оракула из следующего ключа
HKLM \ Software \ HKLM \ Software \ Wow6432Node (Только для 64-битных машин)
Пустая корзина (мне становится лучше):)
Перезагрузите машину
Загрузите один из двух элементов
Установка клиента Oracle (полная версия)
ODAC (Oracle Data Providers)
Установите их (убедитесь, что вы выбираете версию клиента - вы используете минимум установки во время выполнения) - НЕ используйте мгновенный клиент - он никогда не работает должным образом.
Скопируйте файл TNSNames.ora в
Проверьте снова с помощью утилиты.Это должно быть успешным.
Шаг 3 -
Если вышеуказанная утилита сработала - вам необходимо убедиться, что битовый уровень вашего приложения соответствует битовому уровню установки клиента Oracle.Для приложения - это будет битовый уровень пула приложений.
Примечания - файл oracle.dataaccess.dll в папке bin используется для создания образов (ngen, aspnet compilation).После того, как вы попытаетесь вызвать провайдер данных Oracle для .net, он будет перенаправлен на ваш клиентский компьютер для выполнения фактического доступа к данным.