web-dev-qa-db-fra.com

VBScript & Access MDB - 800A0E7A - "Le fournisseur est introuvable. Il n’est peut-être pas installé correctement"

J'ai un problème avec un VBScript qui se connecte à une base de données MDB d'accès. Ma plate-forme est Vista64, mais la majorité des ressources disponibles sont pour ASP/IIS7.

Tout simplement, je ne peux pas le faire se connecter. Je reçois le message d'erreur suivant: 800A0E7A - "Le fournisseur est introuvable. Il n'est peut-être pas installé correctement"

Mon code est:

Set conn = CreateObject("ADODB.Connection")
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database.MDB"
conn.Open strConnect

Jusqu'ici, j'ai exécuté% WINDIR%\System32\odbcad32.exe pour essayer de configurer le pilote en mode 32 bits, mais cela n'a pas fonctionné. Toutes les suggestions seraient grandement appréciées

Juste comme un ajout, j'essaie de faire exécuter ce script .vbs en double-cliquant dessus et en le laissant faire. Ce code n'est pas incorporé dans un autre langage/script.

12
Perma

exécuter le script avec SysWOW64 version
C:\Windows\SysWOW64\wscript.exe ou cscript
au lieu de la version 64 bits par défaut de C:\Windows\System32

15
Nick Giles

Sur Microsoft TechNet Configuration de IIS pour exécuter des applications 32 bits sous Windows 64 bits (IIS 6.0) }:

Pour permettre à IIS d'exécuter des applications 32 bits sous Windows 64 bits:

  1. Ouvrez une invite de commande et accédez au répertoire% systemdrive%\Inetpub\AdminScripts.
  2. Tapez la commande suivante:

    cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"
    
  3. Appuyez sur Entrée.

Ou bien, via le gestionnaire IIS (Internet Information Services):

  1. Accéder aux pools d'applications
  2. Clic droit sur "ASP.NET v4.0 Classic"
  3. Sélectionnez "Définir les paramètres par défaut du pool d'applications ...".
  4. Sous Général, modifiez "Activer les applications 32 bits" de "Faux" en "Vrai".
  5. Cliquez sur OK

Si vous souhaitez exécuter des applications 32 bits et 64 bits, vous pouvez utiliser plusieurs blogs, tels que le blog de Rakki MuthukumarIIS7 - Exécution de versions ASP.NET 32 et 64 bits. en même temps sur différents processus de travail .

6
Stephen Quan

Juste utiliser

strConnect = " Provider = Microsoft.ACE.OLEDB.12.0 ; Source de données ="

si vous avez tous besoin de pilotes

3
Manesh M

Ou bien, via le gestionnaire IIS (Internet Information Services):

Accéder aux pools d'applications Cliquez avec le bouton droit de la souris sur "ASP.NET v4.0 Classic" Sélectionnez "Définir les paramètres par défaut du pool d'applications ..." Sous la modification générale "Activer les applications 32 bits". de "Faux" à "Vrai" Cliquez sur OK.

Lorsque je modifie ces paramètres, cela fonctionne. Merci les gars.. :)

3
Umut

Regarde ça 

EDIT: Attention, le lien ci-dessous va directement au téléchargement du pilote 2007 Office System: Composants de connectivité de données.

http://www.Microsoft.com/download/en/confirmation.aspx?id=23734

Installez-le, lisez les instructions et tout fonctionne comme un charme. 

0
DimDqkov

Je l'ai utilisé cela a fonctionné pour moi sans aucune erreur:

sconnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & myPath & ";HDR=Yes';"
Set con = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

con.Open sconnect
sSQLQry = "SELECT * FROM [" & tableName & "];"
Set rs = con.Execute(sSQLQry)
0
harry