VBScript&访问MDB - 800A0E7A - “无法找到提供商。可能未正确安装”

时间:2010-03-24 13:38:27

标签: ms-access vbscript oledb adodb

我遇到连接到访问MDB数据库的VBScript的问题。我的平台是Vista64,但是大部分资源都用于ASP / IIS7。

很简单,我无法连接它。我收到以下错误: 800A0E7A - “无法找到提供商。可能未正确安装”

我的代码是:

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

到目前为止,我已经运行了%WINDIR%\ System32 \ odbcad32.exe来尝试在32位模式下配置驱动程序,但它还没有完成。任何建议将不胜感激

作为一个补充,我试图让这个.vbs脚本通过双击运行,并让它做它的事情。此代码未嵌入到另一个lang / script中。

7 个答案:

答案 0 :(得分:16)

使用 SysWOW64 版本运行脚本
C:\ Windows \ SysWOW64 \ wscript.exe或cscript
而不是C:\ Windows \ System32

中的默认64位版本

答案 1 :(得分:6)

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

要使IIS能够在64位Windows上运行32位应用程序:

  1. 打开命令提示符并导航到%systemdrive%\ Inetpub \ AdminScripts目录。
  2. 输入以下命令:

    cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"
    
  3. 按ENTER键。

  4. 或者,通过Internet信息服务(IIS)管理器:

    1. 访问应用程序池
    2. 右键单击“ASP.NET v4.0 Classic”
    3. 选择“设置应用程序池默认值...”
    4. 在一般更改下,将“启用32位应用程序”从“False”更改为“True”
    5. 点击确定
    6. 如果您希望同时运行32位和64位应用程序,可以使用各种博客,例如Rakki Muthukumar的博客IIS7 - Running 32-bit and 64-bit ASP.NET versions at the same time on different worker processes

答案 2 :(得分:3)

或者,通过Internet信息服务(IIS)管理器:

访问应用程序池 右键单击“ASP.NET v4.0 Classic” 选择“设置应用程序池默认值...” 一般更改“启用32位应用程序”从“False”到“True” 单击“确定”

当我更改此设置时,它可以正常工作。谢谢你们.. :))

答案 3 :(得分:3)

只需使用

strConnect =“提供商= Microsoft.ACE.OLEDB.12.0 ;数据来源=”

如果你们都需要司机

答案 4 :(得分:0)

检查出来

编辑:警告,以下链接直接下载2007 Office System驱动程序:数据连接组件。

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

安装它,阅读说明,一切都作为魅力。

答案 5 :(得分:0)

我用它对我有用而没有任何错误:

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)

答案 6 :(得分:0)

在遇到例外情况时,我们也遇到了同样的问题

  

找不到提供者。它可能未正确安装

具有以下机器配置:-

machine:- window 10
oracle client installed:- oracle 12c
provider:- MSDAORA.Oracle (instead of OraOledb)

我们已经阅读了许多博客来解决此问题,其中每个帖子都说oracle客户端12到11G版本之间的配置问题具有62到32bit的相互依赖性以及更多,但是在将提供商名称从大写字母更改为小字母时得到解决。 / p>

早期的提供者名称为:- MSDAORA.Oracle(此处Oracle“ O”用大写字母表示) 现在提供程序名称为:- MSDAORA.oracle(此处的Oracle“ O”用小写字母表示)

如果可以,请尝试一下:)