Я пытаюсь собрать установочный пакет для устаревшего программного обеспечения 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 читает «Строка соединения = DRIVER = SQL Server ;; ID пользователя = пользователь ;; Пароль = ;; База данных = MY_DB ;; Сервер = 192.168.1.3 \ SQLEXPRESS ;; UseDSNProperties = -1"
Кажется, нет способа явно установить провайдер в SQLNCLI, по крайней мере, я не вижу его.
при запуске программного обеспечения на моей dev-системе все работает как положено.
Надеюсь, вы, ребята, поможете мне с этим.
просто нам не нужно спорить об этом: я также думаю, что обе эти технологии (vb6 и cr9) устарели, но переключение здесь не вариант.