我正在尝试对位于远程服务器上的访问数据库运行查询(我的代码是用C#编写的)。 我使用以下代码和连接字符串:
public static string MadoneConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source= {0}; Persist Security Info = False; User ID = {1}; Password ={2};"
;
string ConnectionString = string.Format(Constants.MadoneConnectionString, DatabasePath, userId, password);
using (OleDbConnection cnn = new OleDbConnection(ConnectionString))
{
//..my code..//
int count = 0;
using (OleDbCommand cmd = new OleDbCommand(query, cnn))
{
cnn.Open();
using (OleDbDataReader reader = cmd.ExecuteReader())
{
// my code //
}
}
}
运行代码时,标题中出现错误:
无法启动您的应用程序工作组信息文件是
我尝试按照建议的here进行操作,并添加了
Jet OLEDB:System Database=system.mdw;
连接字符串,
但是我有一条消息说登录名或密码错误。
有人遇到相同的错误吗?您是如何解决的?
谢谢
答案 0 :(得分:1)
这是由于其他人在访问中打开数据库文件而创建的,这导致了锁定。由于您在应用程序中使用using
语句,因此不应保持连接处于打开状态,因此代码不太可能引起锁定。在我以前的公司中,这种情况经常发生在ASP页尝试连接到访问数据库而有人打开它的时候。
我能想到的两个解决方案是:
通过更改文件位置或告诉别人不要打开数据库,以确保其他人不能打开数据库。
更好的解决方案是拥有一个可以支持多个用户的数据库服务器。
答案 1 :(得分:0)
添加
Jet OLEDB:System Database=system.mdw;
解决我的连接字符串问题。我尝试使用的登录名已停用,这就是为什么出现错误消息表示登录错误的原因。感谢您的宝贵时间。