各位师兄:
 好啊,N久没搞ACCESS数据库了,最近碰到一个奇怪的问题:
我在ACCESS数据库中设置了密码,然后用ADO去连接这个数据库,
在ADO的用户名(默认的Admin)和密码(就是自设定的密码啦)中填写后,
测试连接却一直跳出错误提示:文件群组错误,或其他用户以独占方式打开。可是问题是我已经将ACCESS关闭啦,何为其他用户以独占方式打开的问题呢
(吓得偶把机子都重启了一下,可问题依旧),文件的路径也肯定没错,
因为偶只要把数据库的密码取消就一切正常了。百思不得其解,望各位仁兄指点迷津,谢谢了先。

解决方案 »

  1.   

    密码的位置不对:
    Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=admin;Data Source=' + ExtractFilePath(application.ExeName) + 'WDT500A.mdb;Persist Security Info=True;Jet OLEDB:Database Password=quanqing123
    你的数据库密码是DataBase Password
    而不是Password
      

  2.   

    在Jet驱动的属性里设置,
    Jet OLEDB:DataBase Password=密码
      

  3.   

    Database Password可以手动辅之也可以在adoconnection的“所有”那里揽里找到password哪一项才是对的...
      

  4.   

    数据库密码是DataBase Password
      

  5.   

     连接带密码的Access数据库(喜欢Delphi数据库编程的请进)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,设置连接完成。with ADOConnection1 do
    begin
      ConnectionString := 'Provider = MicroSoft.jet.OLEDB.4.0;'+
                  'Persist Security Info = False'+
                  'Data Source=D:\*.mdb;'+//数据库本地目录
                  'Mode = ReadWrite;'+
                  'Jet OLEDB:Database Password=*****;'// 加入密码
      Connected := True;//Open DataBase
    end;用:ADOConnection1链接数据库 ,d在窗体的show事件中:(注:ADOConnection1的ConnectionString属性要清空,否则会出错!),试试吧!j:='provider=Microsoft.Jet.OLEDB.4.0;user ID=Admin;Data Source='
      +ExtractFilePath(Application.ExeName)+'Database.mdb;'
      +'Mode=Share Deny None;Extended Properties="";' 
      +'Jet OLEDB:System database="";' 
      +'Jet OLEDB:Registry Path="";'   
      +'Jet OLEDB:Database Password="123";' //设定密码为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'; ADOConnection1.LoginPrompt:=false;
    ADOConnection1.ConnectionString:=j;
      

  6.   

    var
     sConnectString:WideString;
     sPath         :string;
    begin
      sPath:=ExtractFilePath(Application.ExeName);
      sConnectString:='Provider='+ReadIniFile(sPath,'DateBase','Provider')
      +'Data Source='+ReadIniFile(sPath,'DateBase','Data Source')+'Persist Security Info='
      +ReadIniFile(sPath,'DateBase','Persist Security Info')+'Jet OLEDB:Database Password=amw';
      try
        adcon_main.ConnectionString:=sConnectString;
        adcon_main.Connected:=True;
      except
        Application.MessageBox('数据库连接失败','提示信息',0);
        Halt;
      end;
      

  7.   

    关键:Jet OLEDB:Database Password=XXXXXXXX