这是我的连接字符串:
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)本地公共\文档部分,因为可以使用该程序更改服务器名称。
还是什么都没有。
试试这个:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\serverName\shareName\folder\myDatabase.mdb; Jet OLEDB:Database Password=g3n3r4l;Persist Security Info=False;"
您必须先测试是否可以访问客户端PC上的共享路径文件夹。如果可以访问的话就不会有问题。还要确保客户端用户是管理员,以便它可以使用您的应用程序执行 CRUD。
嗯,我确实解决了。哇。
事实证明,.ini 文件中的连接字符串的末尾多了一个“。
//试试这个...
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;