#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;
С моей точки зрения, у вас есть два варианта:
- Преобразуйте приложение для работы в 32-битном режиме в IIS — может помочь, если вам потребуется помощь. Ссылка
- Загрузите и попробуйте 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.