Comment puis-je exécuter un script VBScript en mode 32 bits sur une machine 64 bits?

J'ai un fichier texte qui se termine par .vbs que j'ai écrit la suivante:

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
  • Quand j'execute ce sur un Windows 32 bits machine sur laquelle il tourne et se termine sans aucune notion (prévu).
  • Quand j'execute ce sur un Windows 64 bits machine, il obtient l'erreur

    Fournisseur ne peut pas être trouvé. Il peut ne pas être installé correctement.

Mais il est installé. Je pense que la racine du problème est que le fournisseur est un fournisseur 32 bits, autant que je sache, il n'existe pas en version 64 bits.

Si je lance le script VBScript par l'intermédiaire de IIS sur ma machine 64 bits (comme un fichier ASP) je peux choisir qui il doit s'exécuter en mode 32 bits. Il est alors possible de trouver le fournisseur.

Comment puis-je faire trouver le fournisseur sur Windows 64 bits? Puis-je dire CScript (qui exécute le .vbs fichier texte) pour exécuter en mode 32 bits en quelque sorte?

  • Veuillez noter que même en utilisant 32 bits Cscript pas tous les fournisseurs de base de données va fonctionner. Si le fournisseur est un pilote (exemple: SQLite) il ne fonctionne pas. Vous devez installer le 64 bits SQLite pilotes sur Windows 64 bits au lieu de cela, de sorte que le fournisseur de travail dans cscript 64-bits et 32-bits cscript sur 64 bits).
  • Les Pilotes ODBC ne sont pas des Fournisseurs OLEDB à tous. Elles sont normalement utilisées avec ADO via la cale Fournisseur de MSDASQL qui est le Fournisseur par défaut pour la compatibilité. Bien sûr, si vous apporter encore plus obsolète la Dsn Système, dans les mélanger les choses se corse en raison de registre problèmes de visibilité.
InformationsquelleAutor Peter | 2010-05-10