微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

动态Tableslist传输SQLSERVER对象

       Script Task组件: 

        Dim pkg As New Package()
        Dim MoveTable As Executable = pkg.Executables.Add("STOCK:TransfersqlServerObjectsTask")
        Dim MoveTableTask As TaskHost = CType(MoveTable,TaskHost)

        Dim Datasource As ConnectionManager = pkg.Connections.Add("SMOServer")
        Datasource.ConnectionString = "sqlServerName=InstanceName1;UseWindowsAuthentication=False;UserName=user;"
        Datasource.Properties("Password").SetValue(Datasource,"PPP")
        Datasource.Name = "TestConn_source"

        Dim Destination As ConnectionManager = pkg.Connections.Add("SMOServer")
        Destination.ConnectionString = "sqlServerName=Instancename2;UseWindowsAuthentication=False;UserName=user;"
        Destination.Properties("Password").SetValue(Destination,"PPP")
        Destination.Name = "TestConn_Destination"

        MoveTableTask.Properties("copyData").SetValue(MoveTableTask,True)
        MoveTableTask.Properties("copySchema").SetValue(MoveTableTask,True)
        MoveTableTask.Properties("copyIndexes").SetValue(MoveTableTask,True)
        MoveTableTask.Properties("DropObjectsFirst").SetValue(MoveTableTask,True)
        MoveTableTask.Properties("ExistingData").SetValue(MoveTableTask,Microsoft.sqlServer.Dts.Tasks.TransfersqlServerObjectsTask.ExistingData.Replace)
        MoveTableTask.Properties("copyAllTables").SetValue(MoveTableTask,False)


        ' Read the records from Object variable and put them into StringCollection

        Dim Tables As Collections.Specialized.StringCollection = New Collections.Specialized.StringCollection()

        Dim oleDA As New OleDb.OleDbDataAdapter
        Dim dt As New DataTable

        Dim row As DaTarow
        oleDA.Fill(dt,Dts.Variables("Tablename").Value)
        For Each row In dt.Rows
            Tables.Add(row("name").ToString())
        Next

        'MsgBox(Tables.Count)

        MoveTableTask.Properties("TablesList").SetValue(MoveTableTask,Tables)
        MoveTableTask.Properties("SourceConnection").SetValue(MoveTableTask,Datasource.Name)
        MoveTableTask.Properties("SourceDatabase").SetValue(MoveTableTask,"Db1")
        MoveTableTask.Properties("DestinationConnection").SetValue(MoveTableTask,Destination.Name)
        MoveTableTask.Properties("DestinationDatabase").SetValue(MoveTableTask,"Db2")

        ' Execute package and dispose

        pkg.Execute()

 

 

注意事项:

             1、add reference : system:XML

             2、add :Microsoft.sqlServer.Dts.Tasks.TransfersqlServerObjectsTask

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐