使用 Access 数据库在 64 位环境中运行的 ASP

Posted

技术标签:

【中文标题】使用 Access 数据库在 64 位环境中运行的 ASP【英文标题】:ASP running in 64 bits environment with Access database 【发布时间】:2009-11-28 03:05:47 【问题描述】:

自 2003 年以来,我有一个客户运行一个简单的网站,该网站是用 asp 3.0 构建的,带有一个访问数据库文件 (.mdb)。最近,该客户购买了一台带有 64 位 windows 2003 server 的新服务器,但该网站不再运行,显示以下消息:

ADODB.Connection 错误“800a0e7a” 找不到提供者。它可能没有正确安装。

当然,我已经做了一些网络研究,发现使用 mdb 文件(访问数据库)的 64 位环境似乎是一个问题。我不知道该怎么办。连接数据库代码:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dados\politics\consulta\camara.mdb;MODE=Read;Jet OLEDB:Database Password=1234;"

附: 在 32 位环境下一切正常。我真的需要一些帮助。谢谢。

【问题讨论】:

【参考方案1】:

您是否将 IIS 设置为在 32 位模式下运行?您可能需要创建config change suggested by Microsoft。

【讨论】:

我将 IIS 配置为在 32 位模式下运行,但现在我收到 Service Unavailable 消息,所以我不得不回滚到 64 位模式。【参考方案2】:

我以前遇到过这个问题。这是由于大多数 Office 安装是 32 位的,即使在 64 位计算机上也是如此。如果您在 64 位计算机上安装了 32 位 Office,则可以解决此问题。您可以安装Access database driver from Microsoft。您需要下载并安装 64 位版本。如果您尝试安装它,您需要通过命令提示符 (cmd.exe) 安装它并添加 /passive 标志。

cmd.exe c:\locationofdownloadedfile\AccessDatabaseEngine_x64.exe /passive

(如果合适,不要忘记以管理员身份运行 cmd.exe)

然后您可以在您的 asp 代码中使用以下连接字符串:

Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\pathtoaccessdatabase\accessdatabase.mdb;Persist Security Info=False;"

【讨论】:

【参考方案3】:

我不确定Access 2010 是否对您有用,但可能值得检查,因为它提到了 64 位。

【讨论】:

以上是关于使用 Access 数据库在 64 位环境中运行的 ASP的主要内容,如果未能解决你的问题,请参考以下文章

使用 c# 在 32 位和 64 位窗口中打开 ms-access .mdb

关于Win7 64位系统通过ODBC访问Access的一点经验

access提示若要在64位系统上使用,则必须更新此项目中的代码?

64位系统使用Access 数据库文件的彻底解决方法

64位系统使用Access 数据库文件的彻底解决方法

如何使用C#获取64位机器中所有ODBC或Access数据源的列表