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

问题描述 投票:0回答:3

这是我的连接字符串:

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 是我的连接字符串失败的地方。什么是共享名?如果我将数据库放在 Windows XP 和 Windows Vista / 7 的共享文档/公共文件中,那么 Windows XP 和 Windows Vista / 7 的共享名称是什么?

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

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

我仍然收到以下错误:

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

请问我可以帮忙吗?

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

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

我还尝试使用相同的连接字符串访问我自己的(Windows 7 PC)本地公共\文档部分,因为可以使用该程序更改服务器名称。

还是什么都没有。

c# ms-access networking
3个回答
1
投票

试试这个:

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

您必须先测试是否可以访问客户端PC上的共享路径文件夹。如果可以访问的话就不会有问题。还要确保客户端用户是管理员,以便它可以使用您的应用程序执行 CRUD。


0
投票

嗯,我确实解决了。哇。

事实证明,.ini 文件中的连接字符串的末尾多了一个“。


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;
© www.soinside.com 2019 - 2024. All rights reserved.