2010-03-24 24 views
12

Tengo un problema con un VBScript que se conecta a una base de datos MDB de acceso. Mi plataforma es Vista64, pero la mayoría de los recursos disponibles son para ASP/IIS7.VBScript & Access MDB - 800A0E7A - "El proveedor no se puede encontrar. Puede que no esté instalado correctamente"

En pocas palabras, no puedo conseguir que se conecte. Estoy recibiendo el siguiente error: 800A0E7A - "El proveedor no se puede encontrar es posible que no se haya instalado correctamente"

Mi código es:

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

Hasta ahora he corrió% windir% \ System32 \ odbcad32.exe para tratar de configurar el controlador en modo de 32 bits, pero no ha funcionado. Cualquier sugerencia sería muy apreciada

Solo como una adición, estoy tratando de ejecutar esta secuencia de comandos .vbs haciendo doble clic y dejando que lo haga. Este código no está incrustado en otro lang/script.

+1

es C: \ WINDOWS \ system32 \ msjetoledb40.dll presente en su máquina? También intente crear un archivo llamado test.udl y ejecutarlo. ¿El proveedor de Microsoft.Jet.OLEDB.4.0 aparece en la lista de proveedores? – dudeNumber4

+0

C: \ WINDOWS \ system32 \ msjetoledb40.dll no está en la máquina y Microsoft.Jet.OLEDB.4.0 no aparece en la lista de proveedores – Perma

+0

Entonces parece que necesita instalar MDAC: http: // www .microsoft.com/downloads/details.aspx? familyid = 6C050FE3-C795-4B7D-B037-185D0506396C & displaylang = en No sé por qué tendrías que hacer eso, ya que ha sido parte del sistema operativo durante años, pero no debería doler nada ... – dudeNumber4

Respuesta

15

Ejecutar guión con SysWOW64 versión
C: \ Windows \ SysWOW64 \ wscript.exe o cscript
en lugar de la versión de 64 bits predeterminado de C: \ Windows \ System32

+0

+1 - Tuve un problema similar y esto lo resolvió para mí. – JNK

6

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

Para habilitar IIS para ejecutar aplicaciones de 32 bits en Windows de 64 bits:

  1. abrir un símbolo del sistema y vaya a la systemdrive% \ directorio% Inetpub \ AdminScripts .
  2. Escriba el comando siguiente:

    cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true" 
    
  3. Pulse ENTER.

Por otra parte, a través de Servicios de Internet Information Server (IIS):

  1. aplicación de acceso piscinas
  2. clic derecho en "ASP.NET v4.0 clásico"
  3. Seleccione "Ajustar grupo de aplicaciones Predeterminado ... "
  4. En cambio general" Habilitar aplicaciones de 32 bits "de" Falso "a" Verdadero "
  5. Haga clic en Aceptar

Si desea ejecutar tanto las aplicaciones de 32 bits como las de 64 bits, existen varios blogs para hacerlo, como el Rakki Muthukumar del blog IIS7 - Running 32-bit and 64-bit ASP.NET versions at the same time on different worker processes.

3

Por otra parte, a través de Servicios de Internet Information Server (IIS):

Grupos de aplicaciones de acceso haga clic derecho en "ASP.NET v4.0 clásico" Seleccione "Establecer valores predeterminados de Aplicación piscina ..." En cambio general "Habilitar aplicaciones de 32 bits" de "Falso" a "Verdadero" Haga clic en Aceptar

Cuando cambio esta configuración, funciona. gracias chicos .. :)

2

sólo tiene que utilizar

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

si ha todos los controladores necesarios

0

he utilizado este funcionó para mí sin ningún error:

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) 
Cuestiones relacionadas