【问题标题】:VBScript & Access MDB - 800A0E7A - "Provider cannot be found. It may not be properly installed"VBScript & Access MDB - 800A0E7A - “找不到提供程序。它可能没有正确安装”
【发布时间】:2011-01-31 06:29:57
【问题描述】:

我在连接到访问 MDB 数据库时遇到问题。我的平台是 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 脚本并让它运行。此代码未嵌入到另一个语言/脚本中。

【问题讨论】:

  • 您的机器上是否存在 C:\WINDOWS\system32\msjetoledb40.dll?还可以尝试创建一个名为 test.udl 的文件并启动它。 Microsoft.Jet.OLEDB.4.0 提供程序是否出现在提供程序列表中?
  • C:\WINDOWS\system32\msjetoledb40.dll 不在机器上,Microsoft.Jet.OLEDB.4.0 没有出现在 Provider 列表中
  • 那么您似乎需要安装 MDAC:microsoft.com/downloads/… 我不知道您为什么需要这样做,因为它多年来一直是操作系统的一部分,但它不应该受到伤害什么...

标签: ms-access vbscript oledb adodb


【解决方案1】:

使用 SysWOW64 版本运行脚本
C:\Windows\SysWOW64\wscript.exe 或 cscript
而不是来自 C:\Windows\System32 的默认 64 位版本

【讨论】:

    【解决方案2】:

    在 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。

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

    1. 访问应用程序池
    2. 右键单击“ASP.NET v4.0 Classic”
    3. 选择“设置应用程序池默认值...”
    4. 在常规下将“启用 32 位应用程序”从“假”更改为“真”
    5. 点击确定

    如果您希望同时运行 32 位和 64 位应用程序,可以使用各种博客,例如 Rakki Muthukumar 的博客 IIS7 - Running 32-bit and 64-bit ASP.NET versions at the same time on different worker processes

    【讨论】:

      【解决方案3】:

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

      访问应用程序池 右键单击“ASP.NET v4.0 Classic” 选择“设置应用程序池默认值...” 在常规下,将“启用 32 位应用程序”从“假”更改为“真” 点击确定

      当我更改此设置时,它会起作用。谢谢你们.. :)

      【讨论】:

        【解决方案4】:

        随便用

        strConnect = "Provider=Microsoft.ACE.OLEDB.12.0;数据源= "

        如果您有所有需要的驱动程序

        【讨论】:

          【解决方案5】:

          看看这个

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

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

          安装它,阅读说明,一切都像一个魅力。

          【讨论】:

            【解决方案6】:

            我使用它对我有用,没有任何错误:

            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)
            

            【讨论】:

              【解决方案7】:

              我们遇到了同样的问题,我们得到了异常

              找不到提供程序。可能没有正确安装

              具有以下机器配置:-

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

              我们已经阅读了许多博客来解决这个问题,其中每篇文章都说 oracle 客户端 12 到 11G 版本之间的配置问题具有 62 到 32 位相互依赖等等,但是在将提供程序名称从大写字母更改为小写字母时得到了解决。

              之前的提供者名称是:- MSDAORA.Oracle(这里 Oracle “O”是大写字母) 现在提供者名称是:- MSDAORA.oracle(这里oracle“O”是小写字母)

              如果对你有用,请试一试:)

              【讨论】:

                猜你喜欢
                • 2018-11-25
                • 2014-03-10
                • 1970-01-01
                • 1970-01-01
                • 2023-03-25
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2018-04-07
                相关资源
                最近更新 更多