VBScript & Access MDB - 800A0E7A - “Provider cannot be found. It may not be properly installed”

纵饮孤独 提交于 2019-11-26 09:12:36

问题


I\'ve having a problem with a VBScript connecting to an access MDB Database. My platform is Vista64, but the majority of resources out there are for ASP/IIS7.

Quite simply, I can\'t get it to connect. I\'m getting the following error: 800A0E7A - \"Provider cannot be found. It may not be properly installed\"

My code is:

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

So far I have ran %WINDIR%\\System32\\odbcad32.exe to try to configure the Driver in 32bit mode, but it hasn\'t done the trick. Any suggestions would be greatly appreciated

Just as an addition, I\'m trying to get this .vbs script to run by double clicking and letting it do it\'s thing. This code isn\'t embedded into another lang/script.


回答1:


run script with SysWOW64 version
C:\Windows\SysWOW64\wscript.exe or cscript
instead of the default 64bit version from C:\Windows\System32




回答2:


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

To enable IIS to run 32-bit applications on 64-bit Windows:

  1. Open a command prompt and navigate to the %systemdrive%\Inetpub\AdminScripts directory.
  2. Type the following command:

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

Alternatively, via Internet Information Services (IIS) Manager:

  1. Access Application Pools
  2. Right click on "ASP.NET v4.0 Classic"
  3. Select "Set Application Pool Defaults ..."
  4. Under General change "Enable 32-Bit Applications" from "False" to "True"
  5. Click OK

If you wish to run both 32-bit and 64-bit applications, there's various blogs to do it, such as Rakki Muthukumar's blog IIS7 - Running 32-bit and 64-bit ASP.NET versions at the same time on different worker processes.




回答3:


Alternatively, via Internet Information Services (IIS) Manager:

Access Application Pools Right click on "ASP.NET v4.0 Classic" Select "Set Application Pool Defaults ..." Under General change "Enable 32-Bit Applications" from "False" to "True" Click OK

When I change this settings it is worked. thank you guys.. :)




回答4:


Just use

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

if you 've all needed drivers




回答5:


Check this out

EDIT: Warning, the link below goes straight to a download of 2007 Office System Driver: Data Connectivity Components.

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

Installed it, read the instruction and everything worked as a charm.




回答6:


I used this it worked for me without any 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)


来源:https://stackoverflow.com/questions/2508037/vbscript-access-mdb-800a0e7a-provider-cannot-be-found-it-may-not-be-prop

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!