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

时间:2009-11-28 03:05:47

标签: ms-access asp-classic ado

我从2003年开始有一个客户运行一个内置在asp 3.0中的简单网站,其中包含一个访问数据库文件(.mdb)。最近,该客户获得了一个新的服务器,该服务器附带了Windows 2003服务器64位,并且该网站不再运行,显示此消息:

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;”

P.S。 在32位环境中一切正常。我真的需要一些帮助。感谢。

3 个答案:

答案 0 :(得分:1)

您是否已将IIS设置为以32位模式运行?您可能需要制作config change suggested by Microsoft

答案 1 :(得分:0)

我不确定Access 2010是否对您有用,但在提及64位时可能值得检查。

答案 2 :(得分:0)

我以前遇到过这个问题。它是由大多数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;"