我使用ASP.Net
和Microsoft Access
作为数据库开发了一个Web应用程序。现在我使用OleDB连接连接到数据库。问题是当我在连接字符串Source="C:/WebApp/DB/data.mdb"
中提供数据库源时。连接抛出一个错误,指出路径无效且没有这样的文件。
我尝试使用
Server.MapPath("~/DB/data.mdb")
将路径指定为“C:/WebApp/DB/data.mdb”,但会抛出相同的错误
Colud not locate file 'C:/WebApp/DB/data.mdb'
问题应该是什么,即使在我使用Plesk将其发布到服务器时在loalhost中运行良好,它也会显示相同的错误,指出“C:/inetpub/xyx.com/httpdocs / ...”结果
答案 0 :(得分:1)
C:\WebApp\DB\data.mdb
答案 1 :(得分:1)
尝试使用wndows路径(反斜杠而不是正斜杠)。
如果您要使用Web应用程序发送访问数据库,还可以调查将其放在App_Data文件夹中。请阅读here了解详情。
一个功能齐全的例子是here
请注意,在您当前的示例中,如果DB是Web根目录下的文件夹,则任何人都可以下载您的数据库(如果他们知道文件名)。默认情况下,存储在App_Data中的项目不会提供给客户端。
另请注意,有用的是,当您将项目存储在App_Data中时,您的连接字符串将变为:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\data.mdb;Persist Security Info=False;"
(加上任何用户/密码详情)。 ASP.Net将解析| DataDirectory |运行时的路径。
答案 2 :(得分:0)
可能有几个问题,请检查以下项目:
DB
文件夹是否存在data.mdb
存在于uder DB
文件夹根据上面列出的任何选项,采取适当的措施。