我正在编写一个尝试从共享驱动器读取.mdb文件的.Net Web Api。但每当我尝试打开连接时,它都会给我一个
Microsoft Access数据库引擎无法打开或写入该文件 '\ myshareddrive \ thedatabase.mdb'。它已经完全由 另一个用户,或者您需要获得查看和写入其数据的权限。
我已经更改了对文件夹和涉及NETWORK SERVICE帐户的文件的权限,以便具有修改权限。我还与IIS混淆了“连接为”具有共享驱动器管理员权限的用户。是的,文件已关闭。不知道现在去哪里。任何建议都表示赞赏。
我看了解这个解决方案:
http://www.aspdotnet-suresh.com/2013/01/c-microsoft-office-access-database.html
这是我的代码:
var databaseStringthatincludespath = "\\myshareddrive\thedatabase.mdb"
var connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;Data Source=" + databaseStringthatincludespath;
try
{
OleDbConnection Myconnection = new OleDbConnection(connString);
Myconnection.Open();
Myconnection.Close();
return "Yo test return!";
}
catch (Exception ex)
{
var error = ((ex.InnerException != null) ? ex.InnerException.Message : " ") + " -- " + ex.Message;
return error;
}
答案 0 :(得分:0)
终于明白了。基本上你需要确保你的IIS上的应用程序的“身份验证”以启用模拟(至少这是我采取的路线)。并确保在路径所在的服务器上识别accoutn,以便当应用程序作为模拟帐户执行时,不会出现任何问题。