Доступ к IBM Informix из .Net Web Application - PullRequest
0 голосов
/ 03 декабря 2018

Нам нужно реализовать интеграцию со старой базой данных из IBM с именем Informix.Учитывая это, мы установили Client SDK (версия 4.10 FC4DE) от IBM и внедрили простое консольное приложение для тестирования методов доступа к данным.Он отлично работает с .Net ADO.NET Provider for Informix, ODBC 64 битами и OleDb (драйвером Ifxoledbc).

Когда мы пытаемся запустить его через веб-приложение (asp.net MVC с той же версией.Net Framework, который мы только что протестировали на консольном приложении - версия 4.6), мы получили следующую ошибку:

Не удалось загрузить сборку 'IBM.Data.Informix' или одну из ее зависимостей ...

И если я пытаюсь запустить его через ODBC, он показывает мне:

[Microsoft] [Диспетчер драйверов ODBC] Указанный DSN содержит несоответствие архитектуры между драйвером иПриложение

И оно просто не работает с провайдером .Net ADO.NET, ODBC или OleDb.Ничего из этого не работает в веб-приложении, но в консоли все в порядке.

Когда я добавляю ссылку на проект, происходит что-то странное.Когда я добавляю ссылку на консольное приложение, в окне свойств ссылки IBM.Data.Informix она показывает мне, что версия dll - 3.0.0.0, а на консоли - 4.0.0.0.

У меня вопрос, как я могу правильно его исследовать и понять, чего не хватает в случае веб-приложения?

Спасибо.

1 Ответ

0 голосов
/ 03 декабря 2018

Решение. При запуске веб-приложений оно должно выполняться на 64-разрядной версии, поскольку Client SDK имеет 64-разрядную версию.

Чтобы убедиться, что веб-приложение работает в 64-разрядной среде, в Visual Studio перейдите к Tools / Options / Projects and Solutions / Web Projects и , отметьте параметрUse 64 bit version of IIS EXpress for web sites and projects.

...