通过代码,调用SQL的导入/导出功能?(类似调用SQL的备份/恢复功能)

解决方案 »

  1.   

    利用SQLDMO实现带进度条的数据库备份:
        '?添加进度条ProgressBar1控件   
        '?引用Microsoft  SQLDMO  Object  Library       '声明   
        Public WithEvents bkps As SQLDMO.Backup    '数据库备份操作 
        Private Sub btnBackUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBackUp.Click
            Dim oSQLServer As New SQLDMO.SQLServer()
            oSQLServer.LoginSecure = False
            oSQLServer.Connect("(local)", "sa", "sa")                '连接服务器  
            Me.Cursor = Windows.Forms.Cursors.WaitCursor
            bkps = CreateObject("SQLDMO.Backup")
            bkps.Database = "Northwind"  '指定需备份的数据库 
            bkps.Action = 0
            bkps.Files = "f:\Northwind.bak"  '指定备份文件   
            bkps.Initialize = True
            ProgressBar1.Value = 0
            ProgressBar1.Maximum = 100
            Me.Cursor = Windows.Forms.Cursors.Default()
            Application.DoEvents()
            Dim mouseCur As Cursor
            Me.Cursor = Windows.Forms.Cursors.WaitCursor
            bkps.SQLBackup(oSQLServer)
            ProgressBar1.Value = 100
            Application.DoEvents()
            bkps = Nothing
            Me.Cursor = Windows.Forms.Cursors.Default()
            MsgBox("数据库备份完成", MsgBoxStyle.Information, "系统消息")
        End Sub    '显示进度  
        Private Sub bkps_PercentComplete(ByVal Message As String, ByVal Percent As Integer) Handles bkps.PercentComplete
            ProgressBar1.Value = ProgressBar1.Maximum * (Percent / 100)
        End Sub
      

  2.   

    把DTS包保存成vb模块
    在程序里调用就行了
      

  3.   

    用opendatasource()函数做的导出实质上都是通过SQL的DTS服务做的如:
    insert into opendatasource('Microsoft.Jet.OLEDB.4.0',
    'Data Source=e:\95Sales.xls;User ID=Admin;Password=; Persist Security Info=False;
    Extended properties=Excel 5.0')...[sheet1$] select * from tabel1
      

  4.   

    faysky2() ,你那段代码还有很多问题,请给我一段完整的代码,OK?
      

  5.   

    推薦SQLDMO,
    如果SQL SERVER完全安裝的話,
    在安裝目錄下有各種語言的示例代碼。