У меня есть текстовый файл с расширением .vbs, в котором я написал следующее:
Set Conn = CreateObject("ADODB.Connection")
Conn.Provider = "Microsoft.ACE.OLEDB.12.0"
Conn.Properties("Data Source") = "C:\dummy.accdb"
Conn.Properties("Jet OLEDB:Database Password") = "pass"
Conn.Open
Conn.Close
Set Conn = Nothing
- Когда я выполняю это на 32-битной машине Windows, он запускается и завершается без каких-либо замечаний (ожидалось).
- Когда я выполняю это на 64-битной машине Windows, появляется ошибка
# P2 #
Но он установлен. Я думаю, что корень проблемы в том, что провайдер является 32-битным провайдером, насколько мне известно, он не существует как 64-битный.
Если я запускаю VBScript через IIS на моем 64-битном компьютере (как файл ASP), я могу выбрать, что он должен работать в 32-битном режиме. Затем он может найти поставщика.
Как я могу заставить его найти провайдера на 64-битной Windows? Могу ли я каким-то образом указать CScript (который выполняет текстовый файл .vbs) работать в 32-битном режиме?
MSDASQL, который является поставщиком по умолчанию для совместимости. Конечно, если вы добавите еще более устаревшие системные DSN, все станет рискованно из-за проблем с видимостью реестра. - person Bob77   schedule 17.09.2016