Как я выполняю VBScript в 32-разрядном режиме на 64-разрядной машине?

У меня есть текстовый файл, который заканчивается .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
  • Когда я выполняю это в Windows 32-разрядная машина, она работает и заканчивается без любого (ожидаемого) понятия.
  • Когда я выполняю это в Windows 64-разрядная машина, это получает ошибку

    Поставщик не может быть найден. Это не может быть правильно установлено.

Но это установлено. Я думаю, что корень проблемы - то, что поставщик является 32-разрядным поставщиком, насколько я знаю, что она не существует как 64-разрядная.

Если я выполняю VBScript через IIS на моей 64-разрядной машине (как файл ASP), я могу выбрать это, это должно работать в 32-разрядном режиме. Это может затем найти поставщика.

Как я могу заставить его найти поставщика в Windows 64-разрядным? Я могу сказать CScript (который выполняет .vbs текстовый файл) работать в 32-разрядном режиме так или иначе?

46
задан Micha Wiedenmann 15 July 2015 в 11:34
поделиться

2 ответа

следуйте http://support.microsoft.com/kb/896456

Чтобы запустить 32-разрядную командную строку, выполните следующие действия:

* Click Start, click Run, type %windir%\SysWoW64\cmd.exe, and then click OK.

Затем введите

cscript vbscriptfile.vbs
68
ответ дан 26 November 2019 в 20:16
поделиться

Если у вас есть контроль над запуском исполняемого файла cscript, запустите X:\windows\syswow64\cscript.exe версию, которая является 32-битной реализацией.

14
ответ дан 26 November 2019 в 20:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: