C#通过LAN访问Access数据库时出错

时间:2011-11-14 06:55:16

标签: c# ms-access networking

这是我的连接字符串:

sConnection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\" + lstNet.SelectedItem.ToString() + "\SharedDocs\Documents\Debug\App_File\ggbase.mdb;Jet OLEDB:Database Password=g3n3r4l;";

lstNet是一个列表框,其中包含网络中的所有计算机。

我假设我的连接字符串出现了其他问题。

根据Connection Strings网站,要通过LAN访问数据库,请使用以下连接字符串格式:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\serverName\shareName\folder\myDatabase.mdb;User Id=admin;Password=;

我假设shareName是我的Connection String失败的地方。什么是shareName?如果我将数据库放在共享文档/公共文件中,那么Windows XP和Windows Vista / 7的shareNames是什么?

我已尝试将连接字符串修改为以下内容:

\C$\Users\Public\Documents\Debug\App_File\ggbase.mdb;Jet OLEDB:Database Password=g3n3r4l;";

我仍然收到以下错误:

“初始化字符串的格式不符合规范”

我可以帮忙解决这个问题吗?

编辑:尝试使用以下连接字符串访问网络上Windows Vista PC的Public \ Documents部分中的数据库:

\Public\Documents\Debug\App_File\ggbase.mdb;Jet OLEDB:Database Password=g3n3r4l;";

我还尝试使用相同的连接字符串访问我自己的(Windows 7 PC)本地Public \ Documents部分,因为可以使用该程序更改serverName。

仍然没有。

3 个答案:

答案 0 :(得分:1)

试试这个:

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\serverName\shareName\folder\myDatabase.mdb; Jet OLEDB:Database Password=g3n3r4l;Persist Security Info=False;" 

如果您可以访问客户端P.C.上的共享路径文件夹,则必须先测试。如果它可以访问它就没有问题。还要确保客户端用户是管理员,这样它就可以使用你的app做CRUD。

此致

答案 1 :(得分:0)

好吧,我实际上解决了它。哇。

事实证明,在.ini文件的连接字符串的末尾有一个额外的“。

答案 2 :(得分:0)

//试试这个......

        string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\\PIS(ACU).mdb;";
        Con = new OleDbConnection(@constr);
        Con.Open();
        Com = new OleDbCommand();
        Com.Connection = Con;