提示:无法启动应用程序。工作组信息文件丢失,或是已被其他用户以独占方式打开。
如何解决?如果不设密码一切正常。而且我没有用ACCESS程序打开那个数据库。

解决方案 »

  1.   

    在连接数据库的语句中加入了user和password了没?
    一般是在连接字串中的问题
      

  2.   

    我是用ADO连的,用户名密码都有设进去。
      

  3.   

    ADO连接加密数据库
    connectionstring :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DB_name+'; Persist Security  Info=False;Jet OLEDB:Database Password=1234';
      

  4.   

    解决ADO连接带密码的ACCESS数据库问题
                     高红岩 (ghyghost)
      笔者近日在写ADO连接带密码的ACCESS数据库时,当connected:=true;时,总是出现密码不对的对话框,最终在研究了TADOConnection.ConnectionString的内容创建过程时得到灵感,现与大家分享。
      1,新建Project。
      2,在FORM中放入ADOConnection,ADOQuery,DataSource,Datagrid控件。
      3,双击ADOConnection控件,然后点击Build...按钮,在“提供者”页中选择“Microsoft Jet 4.0 OLE DB   Provider”,然后点击“下一步”按钮,在“连接”页中选择要连接的Access数据库的路径和数据库的文件名,这时如果点“测试连接”按钮时,出现“初始化提供者时发生错误,测试连接失败,密码无效”的错误提示。 
      4,这时点“所有”页,然后双击“Jet OLEDB:Database Password”,出现对话框,添入密码后,选择“连接”页中的“测试连接”按钮,出现“测试连接成功”的对话框。把ADOConnection控件的LoginPromtp设为false.
      5,设置连接完成。
      

  5.   

    Function GetAccessConnString(MDBFile, UserName, UserPwd: String): String;
    Begin
      Result:=
           'Provider=Microsoft.Jet.OLEDB.4.0;User ID=' + UserName
         + ';Jet OLEDB:Database Password='+ UserPwd
         + ';Data Source=' + MDBFile
         + ';Persist Security Info=False';
    end;我连接ACCESS数据库的字符串是用这个函数生成的.希望能帮到你.
      

  6.   

    我也遇到类似的问题,access数据库是加密的,用adoconnection测试连接时
    提示“工作组信息文件丢失,或是被其它用户以独占方式打开”
    一旦将密码删除后就可以正常连接,请问有什么解决方法?
      

  7.   

    我也碰到過這樣的問題﹐花了几天才搞定﹐你要用ODBC去連接﹐并要設好PASSWORD和ACCESS相同
      

  8.   

    ghyghost(著名关心CSDN结贴率爱国主义人士) 你说的方法我试过了,还是不行!
      

  9.   

    你试试我的连接字符串:Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;
    Data Source=E:\Client.mdb;Mode=Share Deny None;Extended Properties="";
    Jet OLEDB:System database="";Jet OLEDB:Registry Path="";J
    et OLEDB:Database Password=123;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";
    Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;
    Jet OLEDB:Don't Copy Locale on Compact=False;
    Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False不要告诉我不行呀,我现在的正在用的就是这个了
      

  10.   

    设置了密码的Access数据库必须用独占方式打开。
    因此在Delphi环境下调试程序需要关闭MS Access。
      

  11.   

    有点象com错误,你没有装OFFICE吧?
      

  12.   

    在ADOConnectionstring的connectionstring的build中,设置了密码后有没有选择保存密码后在LoginPromtp设为false.
      

  13.   

    谢谢各位高手!可以了。
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\duanxin\db1.mdb;Persist Security Info=False;Jet OLEDB:Database Password=a
    关键的是Database Password=a这句。连接对话框里的“输入登录数据库信息:”下面的
    用户名: 和 密码:都不用添,保持原状,密码就空白的。因为这里的密码是连数据库的用户密码,而不是数据库本身的密码!
    这时点“所有”页,然后双击“Jet OLEDB:Database Password”,出现对话框,添入密码后,选择“连接”页中的“测试连接”按钮,出现“测试连接成功”的对话框。把ADOConnection控件的LoginPromtp设为false.
    我之前一直设“连接”里的密码,所以连不上。希望其他不明白的人也应该明白了。