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.
run script with SysWOW64 version
C:\Windows\SysWOW64\wscript.exe or cscript
instead of the default 64bit version from C:\Windows\System32
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:
- Open a command prompt and navigate to the %systemdrive%\Inetpub\AdminScripts directory.
Type the following command:
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"
Press ENTER.
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
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.
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.. :)
Just use
strConnect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= "
if you 've all needed drivers
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.
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