Я поддерживаю некоторые старые веб-приложения, 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, который был в предыдущей среде. Проблема, однако, сохраняется.