Ошибка при использовании соединения OleDb для SalesLogix с использованием asp.net. Нет сообщения об ошибке, код результата: E_FAIL(0x80004005)

Я использую SalesLogix Connection Provider, и это 32-битный драйвер. когда я пытаюсь открыть соединение, то возникает следующее исключение

System.Data.OleDb.OleDbException (0x80004005): сообщение об ошибке недоступно, код результата: E_FAIL(0x80004005)

Я использую следующую строку подключений в приложении (в Интернете и на рабочем столе)

Provider=SLXOLEDB.1;Data Source=TestServer;Initial Catalog=SLXTestApp;User Id=Alex;Password=alex124;Persist Security Info=True;Extended Properties=Port=1706;Log=Off"

Когда я использую тот же код с той же строкой подключения в настольном приложении (C#). Он успешно открывает соединение, а также получает данные без ошибок. Но выдает ошибку мне в случае asp.net 4.0.

Ниже приведены конфигурации / настройки моего приложения

Цель 1-платформы в обоих приложениях одинакова, т.е. x86.
2-Я использую IIS(7.5.7600.16385) на веб-сервере 2008 R2 с 64-разрядной ОС.
3-Включить 32-разрядные приложения верно в пуле приложений.
4-управляемый конвейерный режим = интегрированный
5-Aspnet 4.0(C#)

1 ответ

Решение

Поставщик SalesLogix OLEDB является только 32-разрядным. Вам нужно запустить веб-сайт IIS в 32-битном режиме, чтобы иметь доступ к БД.

Подробности смотрите здесь: http://help.webcontrolcenter.com/KB/a1114/how-to-enable-32-bit-application-pool-iis-7-dedicatedvps.aspx

Вы, кажется, уже настроили это... Но перепроверьте на всякий случай.

Затем: драйвер работает правильно? Обычной проверкой является запуск SalesLogix LAN Client (установите его, если он еще не установлен). Возможно, только запуск установки клиента решит проблему для вас.

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

Другие вопросы по тегам