你用了adodc或数据环境了吗?如果不特别处理,他们要到程序结束才关闭连接的。

解决方案 »

  1.   

    发现 ldb 文件先 kill他一次就是了,如果 kill不掉那就是有人在用了
      

  2.   

    关注!
    我在打开一个连接后,即使强行关闭连接也没用,ldb会非常顽固地赖着不走!
    为这事头疼了很久,那位解决了这个问题绝对功德无量!上次的提问:
    一个mdb文件用Recordset对象打开,并绑定到DataEnvironment的一个Connection 对象上。
    用以下代码可以正常关闭:    If DataEnvironment.Connection.State = adStateOpen Then
            DataEnvironment.Connection.Close
            Set DataEnvironment = Nothing
        End If
        DataBase.Close
        Set DataBase = Nothing但是在调用了与Connection连接的DataReport报表并关闭后,
    就再也没法关闭这个mdb文件了。(ldb文件总是存在)
    除非结束整个程序。
      

  3.   

    你最好用引用DMO来进行备份和恢复,直接copy是没有用的,即使别人没有用数据库,但你的连接是存在的(服务是打开的),所以会出错。一 为什么不能让初学者进来
    二 即然这么难,分数太少
      

  4.   

    这中情况我也碰到过,我是在每次打开记录集后,关闭每一个记录集,然后再关闭连接源,不过这种方法在遇到软件BUG后非正常退出就无能为力了。
      

  5.   

    luoqing(Mr.luo)说的DMO是指什么?
      

  6.   

    分数只是一个意思,再者CSDN好像不让我随意给高分。
    关键是这个问题该如果去解决,如果去巧妙的解决。
    谁能解决的话,告诉我一个可以给你分数的方法,我可以送200-300分给你。
    还有,本人并没有说"不能让初学者进来",而是希望初学者"进来学习一下也好"
      

  7.   

    如果你本机上装了sql server的话,应该可以找到DMO-SQLSERVER的引用,再利用sql server的备份语句即可,现在我机上没用装sql不能试,如果明天要的话,给个EMAIL
      

  8.   

    '测 .ldb 不保险
    '可用独占连接 + 错误处理 测试
    Dim adoConnection As New ADODB.Connection
    On Error GoTo ErrorHandle
    adoConnection.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=D:\NWind97.mdb;Mode=Share Deny Read|Share Deny Write;Persist Security Info=False"
    On Error GoTo 0
    Exit Sub
    ErrorHandle:
    If Err.Number = -2147467259 Then
       VBA.MsgBox "还有人用"
    Else
       VBA.MsgBox Err.Number & ":" & vbCrLf & Err.Description
    End If
      

  9.   

    引用了SQLDMO,然后怎么用啊?我是用ACCESS数据库,SQLDMO不是用在SQL Server上的吗?
      

  10.   

    playyuer(女㊣爱)说的我没有意见,不过就算是可以独占了,那如果ldb还在的话,一样无法恢复啊。
      

  11.   

    为什么不做个计数器,记录访问的客户数?人数为零就 set conn=nothing 
      然后覆盖,管他什么ldb
      

  12.   

    to:eaglezhao(笨小子) 
    怎么可以不提供备份数据库的功能呢??
      

  13.   

    谁来解决我的问题啊??
    神啊,帮帮我吧。
    其实,如果可以强制删除或覆盖的话,那………
    windows和ACCESS都是M$的东东,结合的还真…