本人做了一个小程序,是用access数据库的,原来这个数据库就是加密的,在做这个程序之前我把这个数据库密码去掉了,可是做完之后又试着连原来加过密的数据库,可是出现了下面的错误,请大家帮着看一下,究竟错在那里!!!!!先谢谢大家了!!!!!!!!
加密之前的连接字符串:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Call\Call.mdb;"
连接加密数据库的字符串为:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Call\Call.mdb;User ID=admin;Password=密码;"
出现了下面的错误:
-----------------------------------------------------------------------------------------
无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。源错误: 
行 54:  OleDbConnection myConnection0 = new OleDbConnection(myConn);
行 55:  OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(mySQLstr,myConnection0);
行 56:  myConnection0.Open();//该行为红色显示
行 57:  DataSet myDS = new DataSet();
行 58:  myDataAdapter.Fill(myDS,"AccLog");

解决方案 »

  1.   

    是要用Database Password属性不是Password
      

  2.   

    change 
    Password=密码;with
    Jet OLEDB:Database Password=密码;
      

  3.   

    为啥把连接字符串换成"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;Jet OLEDB:Database Password=MyDbPassword;" 就可以了,
    而"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Call\Call.mdb;User ID=admin;Password=密码;"不可以呢?????????????
      

  4.   

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mydbfile.mdb;Jet OLEDB:Database Password=qwerty
      

  5.   

    为啥把连接字符串换成"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;Jet OLEDB:Database Password=MyDbPassword;" 就可以了,
    而"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Call\Call.mdb;User ID=admin;Password=密码;"不可以呢?????????????连接字符串试别人指定的标准啊.
    Database Password 相当于一个参数名称