2

我在网络上有一个访问数据库。该文件之前正在网络上上传。当我通过文件管理器在网络中检查相同内容时,我可以看到该文件。但是当我尝试使用此语句读取此文件时

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”

4

1 回答 1

2

我遇到了这个错误,我来回阅读了这篇文章,但没有白费。

最后,我明白问题在于安全性。因此,我的解决方案是使用本地(默认)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);
于 2013-08-19T06:43:39.967 回答