进行了安全设置的access数据库文件.mdb(创建了*.mdw),如何用ado控件连接?

解决方案 »

  1.   

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\a.mdb;Persist Security Info=True;Jet OLEDB:Database Password=123456连接字段这么写,注意最后一句,不要写成Password=123456;你可以用想到生成,然后修改Password=123456;为Database Password=123456
      

  2.   

    楼上的不行啊,我设置的新用户是dpbug,密码是123,用你的方法还是提示没有权限啊
      

  3.   

    Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=C:\Documents and Settings\ibm\桌面\db1.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password=123
    是不是你用户设置有问题?我刚做了试验,用admin登陆上面的连接语句没有问题,你试一下
      

  4.   

    var
      sconstr:string;//连接语句
      sdbpath:string;//数据库路径
      smm:string;    //密码
      begin
      if edit1.Text='' then
      begin
      label5.Font.Color:=CLred;
      label5.Caption:='请选择备份的路径和备份的文件名!';
      end
      else
      begin
        if edit3.Text='' then
        begin
        label5.Font.Color:=Clred;
        label5.Caption:='为了您的数据更加安全,请输入密码!';
        end
        else
        begin
        CreateAccessFile(edit1.Text,edit3.Text);
        smm:=edit3.Text;
        try
        sdbpath:=edit1.Text;
        sconstr:='Provider=Microsoft.Jet.OLEDB.4.0;'+
               'User ID=Admin;Data Source='+sdbpath+';'+
               'Mode=Share Deny None;Extended Properties="";'+
               'Locale Identifier=2052;Persist Security Info=False;'+
               'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
               'Jet OLEDB:Database Password='+smm+';'+
               'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;'+
               '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';
        if data_f.Access.Connected= True then data_f.Access.Connected:=False;
        data_f.Access.ConnectionString:=sconstr;
        data_f.Access.Connected:=True;//DM1.ADOCN1:TADOCONNECTION
        except
        Application.MessageBox('无法连接数据库!','错误',MB_OK+MB_ICONSTOP);
        Halt;
        end;
      

  5.   

    不行啊,楼上的方法也不行。我已经吧admin的权限删掉了,只能以dpbug用户身份登陆,且密码是123。怎么每次连接的时候都提示:“工作组信息文件丢失,或被其他用户以独占方式打开”。不用管生成的mdw文件吗?
      

  6.   

    不是的,是因为进行了安全设置,生成了mdw文件。
    我看了生成的快捷方式,是要通过参数调用mdw文件打开mdb的。所以才会产生上述提示。
    我就是想知道,这样的数据库如何用ado连接!
      

  7.   

    在里面要加 jet oledb:system database:c:\yourmdw.mdw
      

  8.   

    jet oledb:system database="c:\yourmdw.mdw"sorry.写错了
      

  9.   

    楼主,把我的User ID=Admin改成你的用户名不就可以了吗?真是的,这都要提醒,呵呵