我在进行数据备份和恢复的时候,需要断开所有进程和此数据库的联系(是mdb数据库)。请问怎样实现(所有进程的)。因为本人为初学者请给出详细代码和说明,不胜感激,谢谢!

解决方案 »

  1.   

    关注ing……
    我也正好需要这样的东东呢,也就是关闭所有与数据库操作的对象
      

  2.   

    如果数据库处于打开状态时是不能用文件的简单拷贝的方式进行备份的。当数据库打开时是不允许用filecopy
    如果你想可以用
    Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long或用这个试试?
    Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
      

  3.   


    '断开与数据库sqldb的所有连接
    Dim cn As New ADODB.Connection, sn As New ADODB.Recordset
    cn.ConnectionString = "provider=SQLOLEDB;server=(local);uid=sa;pwd=;database=master"
    cn.CursorLocation = adUseClient
    cn.Open
    sn.Open "select  spid  from  sysprocesses  where  dbid=db_id('sqldb')", cn
    Do While Not sn.EOF
        cn.Execute "kill " & sn("spid")
        sn.MoveNext
    Loop
    sn.Close
    Set cn = Nothing