2010-03-24 2 views
12

J'ai un problème avec un VBScript se connectant à une base de données MDB d'accès. Ma plate-forme est Vista64, mais la majorité des ressources sont pour ASP/IIS7.VBScript & Access MDB - 800A0E7A - «Le fournisseur est introuvable Il se peut qu'il ne soit pas correctement installé»

Tout simplement, je n'arrive pas à le connecter. Je reçois l'erreur suivante: 800A0E7A - «fournisseur ne peut pas être trouvé Il ne peut pas être correctement installé »

Mon code est:

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

Jusqu'à présent, j'ai couru% windir% \ System32 \ odbcad32.exe pour essayer de configurer le pilote en mode 32 bits, mais il n'a pas fait l'affaire. Toutes les suggestions seraient grandement appréciées

Juste pour ajouter, j'essaye d'exécuter ce script .vbs en double-cliquant dessus et en le laissant faire. Ce code n'est pas incorporé dans un autre lang/script.

+1

est C: \ WINDOWS \ system32 \ msjetoledb40.dll présent sur votre machine? Essayez également de créer un fichier nommé test.udl et de le lancer. Le fournisseur Microsoft.Jet.OLEDB.4.0 apparaît-il dans la liste des fournisseurs? – dudeNumber4

+0

C: \ WINDOWS \ system32 \ msjetoledb40.dll n'est pas sur la machine et Microsoft.Jet.OLEDB.4.0 n'apparaît pas dans la liste des fournisseurs – Perma

+0

Ensuite, il semble que vous devez installer MDAC: http: // www .microsoft.com/downloads/details.aspx? familyid = 6C050FE3-C795-4B7D-B037-185D0506396C & displaylang = fr Je ne sais pas pourquoi vous auriez besoin de faire cela car il fait partie de l'OS depuis des années, mais il ne devrait pas blesser quoi que ce soit ... – dudeNumber4

Répondre

15

script run avec SysWOW64 Version
C: \ Windows \ SysWOW64 \ wscript.exe ou cscript
au lieu de la version par défaut de 64 bits à partir de C: \ Windows \ System32

+0

+1 - Avait un problème similaire et cela a résolu pour moi. – JNK

6

sur Microsoft TechNet Configuring IIS to Run 32-bit Applications on 64-bit Windows (IIS 6.0):

Pour activer IIS pour exécuter des applications 32 bits sur 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 ENTER.

Alternativement, via Internet Information Services (IIS) Gestionnaire:

  1. pools d'applications d'accès
  2. Faites un clic droit sur "ASP.NET v4.0 Classic"
  3. Sélectionnez « Set Pool d'applications Paramètres par défaut ... »
  4. Sous changement général "Activer les applications 32 bits" de "faux" à "True"
  5. Cliquez sur OK

Si vous souhaitez exécuter à la fois des applications 32 bits et 64 bits, vous pouvez utiliser plusieurs blogs, par exemple le blog de Rakki Muthukumar.

3

Alternativement, via Internet Information Services (IIS) Gestionnaire:

pools d'applications d'accès clic droit sur "ASP.NET v4.0 classique" Sélectionnez "Set Pool d'applications Valeurs par défaut ..." Sous changement général "Activer les applications 32 bits" de "False" à "True" Cliquez sur OK

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

2

Il suffit d'utiliser

strConnect = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source ="

si vous avez tous les pilotes nécessaires

0

je cela, il a travaillé 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) 
Questions connexes