Я пытаюсь создать установочный пакет для устаревшего программного обеспечения vb6. само программное обеспечение подключается к серверу sql через sqlncli (собственный клиент). Я упаковал все зависимости и развернул их на новом компьютере под управлением winxp и office2003.
теперь с целевой машины я могу подключиться к базе данных (ms sqlserver 2005), которая работает где-то еще, используя tcp / ip. унаследованное программное обеспечение прекрасно подключается к базе данных, и я могу манипулировать данными. но когда я пытаюсь открыть отчет о кристалле, все становится беспорядочно:
я получаю сообщение об ошибке: «Ошибка выполнения» -2147189176 (80047e48): Ошибка входа в систему. Подробности: 01000: [Microsoft] [Драйвер ODBC SQL Server] [DBNETLIB] ConnectionOpen (Connect ()) »
поскольку отчеты были разработаны в другой системе, с разными базами данных, а что нет ... перед вызовом отчета существует цикл, который сбрасывает информацию о базе данных для каждой таблицы:
For i= 1 To numTables
Set crTable = crTables.Item(i)
crTable.SetLogOnInfo dbServer, dbName, dbLogin, dbPasswd
Next
ConnectBufferString читает «Строка подключения = ДРАЙВЕР = SQL Server ;; Идентификатор пользователя = пользователь ;; Пароль = ;; База данных = MY_DB ;; Сервер = 192.168.1.3 \ SQLEXPRESS ;; UseDSNProperties = -1»
похоже, нет способа явно установить поставщика на SQLNCLI, по крайней мере, я его не вижу.
при запуске программного обеспечения в моей dev-системе все работает так, как должно.
Я надеюсь, что вы, ребята, можете мне помочь с этим. Просто чтобы не спорить об этом: я также считаю, что обе эти технологии (vb6 и cr9) устарели, но переключение здесь не вариант.