C# 尝试连接数据库时发生Asp.net错误

C# 尝试连接数据库时发生Asp.net错误,c#,asp.net,database,connection,C#,Asp.net,Database,Connection,我正在尝试连接到一个数据库,该数据库是asp.net上web应用程序中的.mdb文件。出现此错误“Microsoft.ACE.OLEDB.12.0 Data Source=C:\Users\KIKI\Desktop\ASP.net labs\Erg8\Erg8\ebookstoredb.mdb”提供程序未在本地计算机上注册。问题是,在我的连接字符串上,我不使用版本12,而是使用版本4。我尝试安装Microsoft Access Database Engine 2010 Redistributab

我正在尝试连接到一个数据库,该数据库是asp.net上web应用程序中的.mdb文件。出现此错误“Microsoft.ACE.OLEDB.12.0 Data Source=C:\Users\KIKI\Desktop\ASP.net labs\Erg8\Erg8\ebookstoredb.mdb”提供程序未在本地计算机上注册。问题是,在我的连接字符串上,我不使用版本12,而是使用版本4。我尝试安装Microsoft Access Database Engine 2010 Redistributable,当我从“服务器资源管理器”窗口设置连接时,它提供了选择版本12的选项,但错误仍然存在。有什么想法吗?我花了几个小时寻找解决方案。。。 这是我的连接字符串:

OleDbConnection constring = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\KIKI\\Desktop\\ASP.net labs\\Erg8\\Erg8\\ebookstoredb.mdb");

此外,我在设置连接时测试了连接,并显示一条消息“连接成功”。问题似乎是当我在浏览器上运行应用程序时

您应该将.mdb文件放在ASP.NET应用程序的文件夹中。您可以使用
|DataDirectory |
替换来避免绝对路径在连接字符串中。是的,.mdb在我的文件夹中。我以前将其作为Server.MapPath(~/ebookstoredb.mdb)使用,但错误仍然存在。我认为这与此无关。谢谢。请确保您的应用程序所在的应用程序池设置了启用32位应用程序选项。有时这个帮助可能会检查@JohnWu我在这里发布之前做了所有这些…这太奇怪了!