我在网上有一个访问数据库.此文件之前已在Web上载.当我通过文件管理器在web中检查相同时,我可以看到该文件.但是当我尝试使用此语句读取此文件时
con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=~\httpdocs\Admin\Acessdatabase\ATT2000.mdb; Persist Security Info=False; Jet OLEDB:Database Password=; providerName=System.Data.OleDb";
它给我的错误是“找不到可安装的ISAM”.
解决方法
我遇到过这个错误,我来回阅读了
this文章,但没有白费.
最后,我明白麻烦是安全问题.所以,我的解决方案是使用这样的本地(默认)mdw文件(Microsoft Access工作组信息):
string strConnectionString = "Provider='Microsoft.Jet.OLEDB.4.0';Data Source=" + p_strFileName + ";Jet OLEDB:Database Password=" + p_strDBPassword + ";Mode=Share Exclusive;Persist Security Info=True;"; // Important part - using mdw file strConnectionString += "Jet OLEDB:System Database=" + Environment.GetEnvironmentVariable("APPDATA") + @"\Microsoft\Access\system.mdw";
并在代码上使用连接:
var conn = new OleDbConnection(strConnectionString);