Поставщик MSDAORA не найден для asp.net сайт

#asp.net #oracle #database-connection #oledb

#asp.net #Oracle #подключение к базе данных #oledb

Вопрос:

Я застрял со странной ошибкой подключения к Oracle на Windows Server 2003 x64 (IIS 6)

Во время консоли.Сетевое приложение, которое запускается на половине администратора, успешно подключается к Oracle 10g Express через OleDb [Строка подключения выглядит следующим образом: Provider=MSDAORA;Data Source=server-ip:port;User Id=user;Password=password; ]

ASP.NET Веб-сайт 4.0 (пул приложений также работает от имени администратора) завершается с ошибкой: поставщик ‘MSDAORA’ не зарегистрирован на локальном компьютере

Строка подключения такая же, но она не работает для asp.net сайт. Что я должен проверить?

Заранее благодарю вас!

Ответ №1:

Это социальное.Ссылка MSDN, похоже, указывает на то, что у вас установлены драйверы x86;

С моей точки зрения, у вас есть два варианта:

  1. Преобразуйте приложение для работы в 32-битном режиме в IIS — может помочь, если вам потребуется помощь. Ссылка
  2. Загрузите и попробуйте 64-разрядную версию драйверов. Загрузка Oracle x64

Ответ №2:

Другим подходом было бы включить 32-разрядные приложения для пула приложений IIS, который использует ваше приложение. Я бы предложил создать новый пул приложений специально для вашего приложения, убедившись, что включены 32-разрядные приложения.

Вероятно, у вас возникнут проблемы с производительностью, но, по крайней мере, вы будете готовы и запущены.

Ответ №3:

Я решил эту проблему в одном из своих приложений с помощью ASP (соединение MSDAORA) — среда oracle со следующим исправлением из http://technet.microsoft.com/en-us/library/cc784046.aspx

ниже приведены шаги

Чтобы включить IIS 6.0 для запуска 32-разрядных приложений в 64-разрядной Windows 1. Откройте командную строку и перейдите в каталог%systemdrive% Inetpub AdminScripts.

2. Введите следующую команду:

cscript.exe adsutil.vbs устанавливает значение W3SVC/AppPools/enable32BitAppOnWin64 true

3. Нажмите ENTER.