ACCESS数据库一加上密码程序就出错:
无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。
没有密码时程序正常运行。

解决方案 »

  1.   

    在连接自创中加上password='dfdf'
      

  2.   


      connectstring:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=gongye.mdb;Persist Security Info=False;Jet OLEDB:Database Password=123456789 ';
      

  3.   

    如ado——
    ADOConn.ConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;password=ps; Data Source=SGM';
      

  4.   

    我的程序是这样的:
      with AdoConnection1 do
        ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="123456";'
                            + 'User ID=Admin;Data Source='
                            + DbfPath + '\data.mdb;'
                            + 'Mode=Share Deny None;Extended Properties="";'
                            + 'Locale Identifier=2052;'
                            + 'Jet OLEDB:System database="";'
                            + 'Jet OLEDB:Registry Path="";'
                            + 'Jet OLEDB:Database Password="";'
                            + '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';
    是不是几个PASSWORD的地方都要加进去密码?要不要引号?
      

  5.   

    我新建一个工程,在FORM中添加一个AdoConnection控件,当建立ConnectionString时,输入数据库的密码,点击测试连接,也出现上述错误。这是怎么回事?
      

  6.   

    用ado连接有密码的access库网上有N多这样的答案了,搜一下吧
      

  7.   

    我的程序是这样的:
      with AdoConnection1 do
        ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="123456";'
                            + 'User ID=Admin;Data Source='
                            + DbfPath + '\data.mdb;'
                            + 'Mode=Share Deny None;Extended Properties="";'
                            + 'Locale Identifier=2052;'
                            + 'Jet OLEDB:System database="";'
                            + 'Jet OLEDB:Registry Path="";'
                            + 'Jet OLEDB:Database Password="";'
                            + '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';
    是不是几个PASSWORD的地方都要加进去密码?要不要引号?其实你用Access创建的*.mdb 还不如用delphi自带的数据库Database Desktop创建的 *.dbf文件,同样的空数据库,前者可能为500K-1M大小,后者才10K多,很适合软件发布
    左右,更便于
      

  8.   

    把你的下面一句:
        + 'Jet OLEDB:Database Password="";'
    变为:
        + 'Jet OLEDB:Database Password=你的密码;'