『100分』C#连接Access数据偶尔出错 求建立连接时完整的connString格式
曾经提过类似问题,见如下地址:
http://topic.csdn.net/u/20090303/18/519e8fb8-a304-4604-b35e-2b4301437cb0.html?1378107631
现在又出现了偶尔会在open()时出现下述异常的现象。
System.Data.OleDb.OleDbException 未指定的错误
C# code
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\DB\\log.mdb";
OleDbConnection connection = new OleDbConnection(connString);
以上代码中connString的完整格式是什么?会不会是建立数据库连接时,有其他什么约束造成的?因为该数据库没有设置用户权限,所以就写成了以上的格式,是不是还有什么控制的信息没有写上?
完全没有搞明白是怎么回事。。。为什么偶尔会出错?偶尔的条件也是不确定,而且按照出错的规律操作,又不会出错。。。晕倒。。。
------解决方案--------------------估计要靠你自己了,从google搜不到东西,说明碰到的人不多。
------解决方案--------------------
应该不是链接字符串的问题
这里有所有的链接字符串:http://www.connectionstrings.com/access
------解决方案--------------------
------解决方案--------------------下面是获取三种联接到ACCESS联接字符串的函数
/// <summary>
/// 获得连接Access数据库文件的联接字符串(无密码模式)
/// </summary>
/// <param name="dbPath">数据库路径</param>
/// <returns>联接字符串</returns>
static public string GetAccessConnStr(string dbPath)
{
return @"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data source=" + dbPath;
}
/// <summary>
/// 获得连接Access数据库文件的联接字符串(仅密码模式)
/// </summary>
/// <param name="dbPath">Access数据库路径</param>
/// <param name="userPwd">数据库密码</param>
/// <returns>联接字符串</returns>
static public string GetAccessConnStr(string dbPath, string userPwd)
{
return @"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data source=" + dbPath + ";Jet OLEDB:Database Password=" + userPwd;
}
/// <summary>
/// 获得连接Access数据库文件的联接字符串(使用用户名与密码模式)
/// </summary>
/// <param name="dbPath">Access数据库路径</param>
/// <param name="userId">用户名</param>
/// <param name="userPwd">密码</param>
/// <returns>联接字符串</returns>
static public string GetAccessConnStr(string dbPath, string userId, string userPwd)
{
return @"Provider=Microsoft.Jet.OLEDB.4.0;Password=" + userPwd + ";User ID=" + userId + ";Data Source=" + dbPath + ";";
}