这是我的连接字符串:
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。
仍然没有。
答案 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;