在IIS上发布后,无法从Access数据库中读取数据

时间:2017-05-21 07:19:41

标签: c# asp.net ms-access

我有一个从Access数据库读取数据的ASP.Net网站,它运行良好,但在IIS上发布之后,没有数据被检索。

我正在使用Web配置连接到数据库

<add name="GisDB" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\AccessDB\Myacdb.mdb;Persist Security Info=False;" providerName="System.Data.OleDb"/>

2 个答案:

答案 0 :(得分:0)

您可能需要解决两个具体问题: 1)IIS无法解析Access数据库的路径 2)IIS可能无法在服务器上实例化ACE OLEDB驱动程序。

1)的潜在解决方案是将Access数据库放在您的/ App_Data子文件夹中,不在您网站的根目录下。您可以在web.config中指定一个连接字符串,如下所示

解决2)比较棘手,特别是如果它是一个远程主机。首先,如果使用Visual Studio,请将您的网站二进制文件编译为x86模式,并查看问题是否仍然存在。这可能表明在64位平台上运行的Access DLL存在潜在问题。

答案 1 :(得分:0)

几乎可以肯定,IIS工作进程无权读取d:\ AccessDB \文件夹中的文件。授予权限或将MDB移动到您的网站根目录下的App_Data文件夹,并更改Web.Config以适应。