15

我在连接到访问 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 脚本并让它运行。此代码未嵌入到另一个语言/脚本中。

4

7 回答 7

18

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

于 2011-03-07T15:47:27.717 回答
6

在 Microsoft TechNet 上配置 IIS 以在 64 位 Windows (IIS 6.0) 上运行 32 位应用程序

要使 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进程

于 2012-02-10T03:20:37.680 回答
3

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

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

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

于 2013-06-12T06:22:38.060 回答
3

只需使用

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

如果您都需要驱动程序

于 2014-01-03T05:41:29.080 回答
0

看一下这个

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

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

安装它,阅读说明,一切都很有魅力。

于 2011-12-19T11:11:33.747 回答
0

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

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

具有以下机器配置:-

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” 是小写字母)

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

于 2019-12-12T14:02:11.530 回答
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)
于 2017-12-17T23:09:59.853 回答