当我用ado 用jet ole 4。0 去连接access数据库的时候,为空密码可以正常连接,但设置了密码后就提示错误如下:
工作组信息文件丢失,或是其它用户已以独占方式打开,
但我的access都已经关掉了啊,不知道怎样办。
期待高手帮忙!!!!!!!!!!

解决方案 »

  1.   

    这种情况我最近也遇到过,很奇怪,我连接oracle时加密码就没事,以前连接access加密码也
    没事,现在就不行,
    不过没关系,你可以在程序里直接加connectionstring连接字符串.这个绝对没问题.
      

  2.   

    直接在程序里加上字符串么?那不是跟直接设置一样么? 这个没问题么 
    你的意思是说比如:
    adoconnection.connectionstring := '……password := 123456………';
    是这个意思么?
      

  3.   

    大家谁现在有delphi和access可否帮我测试一下,我这里没delphi 啊,学校机房、
    感激不尽!!!!!!!!!!!!!!!!!!!!!!!
      

  4.   

    要在CONNECTION的所有选项那里面有个PASSWORD,把ACCESS文档的密码写进去就可以了
      

  5.   

    如果不行密码就是设在上面有个OLEDB DATABASE PASSWORD 那个里面
      

  6.   

    再'所有' 那得password 里卖加上你的密码
      

  7.   

    StrConnection:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DataSource+
                       ';Mode=Share Deny None;Jet OLEDB:Registry Path="";Jet  
                       OLEDB:Database Password="wydgood";Jet OLEDB:Engine 
                       Type=5;Persist Security Info=false;';
    AdoCon.ConnectionString:=StrConnection;
    AdoCon.LoginPrompt:=False;
    AdoCon.Connected:=True;
    这样写
      

  8.   

    密码在连接向导最后一个标签All中的Jet OLEDB:Database Password中写入,关闭Access后再打开就OK了,你试试
      

  9.   

    weizi2000说得对,我以前也有过这种问题。不过要刷新一下数据库就行了
      

  10.   

    该问题已解决
    如下:
    在adoconnection的beforeconnect中添加如下:
    procedure TDM.ADOConnectionBeforeConnect(Sender: TObject);
    var
      s : WideString;
    begin
      s := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data ';
      s := s + 'Source=Database.mdb;Mode=ReadWrite;Extended Properties="";Persist Security ';
      s := s + 'Info=False;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database ';
      s := s + 'Password="123456789123456";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global ';
      s := s + 'Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database ';
      s := s + 'Password="123456789123456";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt ';
      s := s + 'Database=False;Jet OLEDB:Don' + #39 +'t Copy Locale on Compact=False;Jet OLEDB:Compact Without ';
      s := s + 'Replica Repair=False;Jet OLEDB:SFP=False';
      ADOConnection.ConnectionString := s;
    end;
    其实就是阿丙说的意思,把密码在这里设置进去,就可以啦。我已经运行过了,一切正常
    谢谢大家关心