[SSIS]追加2个TransferSqlServerObjectsTask,为什么不能同时执行
下面是参照代码,
动态设置TablesList,希望多个TransferSqlServerObjectsTask一起并行执行,可是并行出错,已经存在,不能转换oledbdest`
希望ssis高手解决一下
Dim pkg As New Package()
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"
Dim MoveTable1 As Executable = pkg.Executables.Add("STOCK:TransferSqlServerObjectsTask")
Dim MoveTableTask1 As TaskHost = CType(MoveTable1, TaskHost)
MoveTableTask1.Properties("CopyData").SetValue(MoveTableTask1, True)
MoveTableTask1.Properties("CopySchema").SetValue(MoveTableTask1, True)
MoveTableTask1.Properties("CopyIndexes").SetValue(MoveTableTask1, True)
MoveTableTask1.Properties("DropObjectsFirst").SetValue(MoveTableTask1, True)
MoveTableTask1.Properties("ExistingData").SetValue(MoveTableTask1, Microsoft.SqlServer.Dts.Tasks.TransferSqlServerObjectsTask.ExistingData.Replace)
MoveTableTask1.Properties("CopyAllTables").SetValue(MoveTableTask1, False)
Dim Tables1 As Collections.Specialized.StringCollection = New Collections.Specialized.StringCollection()
Tables1.add("T1")
Tables1.add("T2")
MoveTableTask1.Properties("TablesList").SetValue(MoveTableTask, Tables1)
MoveTableTask1.Properties("SourceConnection").SetValue(MoveTableTask, Datasource.Name)
MoveTableTask1.Properties("SourceDatabase").SetValue(MoveTableTask, "Db1")
MoveTableTask1.Properties("DestinationConnection").SetValue(MoveTableTask, Destination.Name)
MoveTableTask1.Properties("DestinationDatabase").SetValue(MoveTableTask, "Db2")
Dim MoveTable2 As Executable = pkg.Executables.Add("STOCK:TransferSqlServerObjectsTask")
Dim MoveTableTask2 As TaskHost = CType(MoveTable2, TaskHost)
MoveTableTask2.Properties("CopyData").SetValue(MoveTableTask2, True)
MoveTableTask2.Properties("CopySchema").SetValue(MoveTableTask2, True)
MoveTableTask2.Properties("CopyIndexes").SetValue(MoveTableTask2, True)
MoveTableTask2.Properties("DropObjectsFirst").SetValue(MoveTableTask2, True)
MoveTableTask2.Properties("ExistingData").SetValue(MoveTableTask2, Microsoft.SqlServer.Dts.Tasks.TransferSqlServerObjectsTask.ExistingData.Replace)
MoveTableTask2.Properties("CopyAllTables").SetValue(MoveTableTask2, False)
Dim Tables2 As Collections.Specialized.StringCollection = New Collections.Specialized.StringCollection()
Tables2.add("T3")
Tables2.add("T4")
MoveTableTask2.Properties("TablesList").SetValue(MoveTableTask, Tables2)
MoveTableTask2.Properties("SourceConnection").SetValue(MoveTableTask, Datasource.Name)
MoveTableTask2.Properties("SourceDatabase").SetValue(MoveTableTask, "Db1")
MoveTableTask2.Properties("DestinationConnection").SetValue(MoveTableTask, Destination.Name)
MoveTableTask2.Properties("DestinationDatabase").SetValue(MoveTableTask, "Db2")
pkg.Execute()