日期:2014-05-17  浏览次数:20391 次

asp.net Web.config中配置Access数据库连接字符串
我在配置文件中设置两个连接字符串
<add key="DbPath2" value="~/db/02.mdb"/>
<add key="DbPath1" value="~/db/01.mdb"/>

<connectionStrings>
  <add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="/>
</connectionStrings>

在数据库操作类无法获取

return connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString() + HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["DbPath1"]) + ";";

操作数据库的时候就会出现

Microsoft Jet 数据库引擎打不开文件'F:\web\website.Web'。  它已经被别的用户以独占方式打开,或没有查看数据的权限。错误,

但把 <add key="DbPath2" value="~/db/01.mdb"/>
<add key="DbPath1" value="~/db/02.mdb"/>中任意一个修改 
为 
<add key="DbPath" value="~/db/01.mdb"/>
不用在数据库操作类中获取配置的字符串也可以正常操作数据
觉得特郁闷,还是第一次遇到这个问题


------解决方案--------------------
应该把Access文件放在网站的App_Data目录下:
<connectionStrings>
  <add name="ConnectionString1" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
------解决方案--------------------
DataDirectory
------解决方案--------------------
01.mdb" />
  <add name="ConnectionString2" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
------解决方案--------------------
DataDirectory
------解决方案--------------------
02.mdb" />
</connectionStrings>

分别用ConfigurationManager.ConnectionStrings["ConnectionString1"].ConnectionString
ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString获取连接字符串。
------解决方案--------------------
楼上方法可行