Как исправить разорванное соединение с DB2 из веб-приложения? - PullRequest
0 голосов
/ 07 марта 2009

Я поддерживаю некоторые старые веб-приложения, ASP на основе VBScript для UI и COM-модули VB6 для бизнес-уровней и уровней доступа к данным. В прошлые выходные я установил пакет исправлений 14 DB2 Connect Enterprise Edition v8 на нескольких серверах Windows 2000, и одно из веб-приложений выдает ошибки в нулевых данных, когда оно вызывает встроенную функцию VBScript FormatNumber . Эти числовые данные извлекаются запросом SQL Server, но единственный способ заполнить столбец SQL Server - это вычисленные результаты, возвращенные из запроса DB2 ранее в ходе нескольких страниц.

Когда я установил DB2 Connect EE, одним из загруженных компонентов был MDAC 2.7. Я следовал корпоративным инструкциям и установил сохранение источника системных данных ODBC, который сообщал о хорошем соединении, когда я проверял его после установки.

Что бы это ни стоило, ссылки на проекты в производственных модулях VB6 указывали на MDAC 2.5. Я попытался перекомпилировать и развернуть в COM на моем тестовом сервере новые версии модулей VB6, ссылающиеся на MDAC 2.7. Моя среда разработки - Windows XP Pro с установленными MDAC 2.8 и DB2 Connect EE v9.5. Когда я развернул обновленные библиотеки VB6, CreateObject не может создать экземпляры классов с сообщением об ошибке «Класс не поддерживает автоматизацию или запрошенный интерфейс».

Я откатил установку DB2 Connect и переустановил v8 клиента времени выполнения DB2, который был в предыдущей среде. Проблема, однако, сохраняется.

1 Ответ

0 голосов
/ 07 марта 2009

Я не совсем понимаю, как все связано друг с другом - где находится SQL Server и где находится DB2.
На сайте IBM есть форумы, специально предназначенные для помощи с DB2 Connect EE, который, на мой взгляд, является довольно дорогим продуктом (не уверен).

Один из способов, которыми я видел людей, - это настроить SQL-сервер в качестве шлюза данных. Вы можете определить DB2 как связанный сервер, а затем выполнить запросы SQL через сервер SQL, чтобы получить доступ к DB2. Приложения должны иметь возможность подключаться к SQL Server, а не напрямую к DB2. Они попадают в DB2 косвенно. В зависимости от нагрузки на систему это может или не может быть осуществимо для вас. При таком подходе вы даже можете объединять данные, хранящиеся отдельно в DB2 и SQL.

Это еще одна опция в наборе инструментов, наряду с репликацией, объединением данных и так далее. Я обнаружил, что это уменьшает изменчивость в связности.

...