Access 2000,偶以独占方式打开了 xxx.mdb,并设置了数据库密码。然后到 delphi 下面放了 adoconnect 控件,却无法打开 xxx.mdb,说是什么数据库被其他程序独占!这时候我已关闭 access,并且那个 xxx.mdb 在没有设置密码前是没有问题的。我在很多机器上都尝试过有这个问题。请问这问题怎么解决?

解决方案 »

  1.   

    你把密码设置什么地方的呢?
    如果是在ADO连接的第二页和用户名称一起输入的对话框中那么就错误了,
    你应该在ADO连接设置的最后一页列表中找到DataBase Password 然后输入密码
      

  2.   

    好象是个BUG,解决方法是在设计时不要加密,或者在设置时不连接数据库,在运行期间再连接是可以连接上的
      

  3.   

    把loginpromt设置为true来输入密码
      

  4.   

    to ysai(淡出论坛)(同一个问题不说两次):
        还是不行,程序里面设置 Connected 属性仍是一样的提示错误:用户无效或者被其他程序以独占方式打开。
      

  5.   

    你设置一下,connectstring,里面有密码的,你点保留密码,然后看可以用不?
      

  6.   

    楼上各位大侠,不是小弟的基本功问题,所有该设置的都设好了,包罗 ConnectString 里面的保存密码,LoginPrompt,数据库路径,但就是说:“无法启动应用程序。工作组信息文件丢失,或是已被其他用户一独占方式打开。”
      

  7.   

    如果使用了工作组方式加密就麻烦了~~~~~
    如果能用ACCESS打开,就把所有表导出到一个新数据库,不要用工作组方式加密了
      

  8.   

    to ysai(淡出论坛)(同一个问题不说两次):小弟没有使用任何关于工作组的东西,只是选择了“设置数据库密码”一个选项而已。
      

  9.   

    手工在连接字符串(ConnectionString)的最后加上 
    Jet OleDb:DataBase Password=xxxx//其中的Password后面加的就是你的密码.
      

  10.   

    同意楼上,刚开始我也是怎么也连不上,后来打开VB,用VB中的ADO控件连接ACCESS数据库,把产生出来的连接字符串copy到delphi中adoconnect中就行了,这应该算是delphi自己的bug?或者说做的不够完善。
      

  11.   

    自己在连接字串中加上Jet OleDb:DataBase Password=xxxx;就可以了,我刚刚解决这个问题