[SSIS]追加2个TransferSqlServerObjectsTask,为什么不能同时执行

rickjelly2004 2010-10-25 08:30:25
下面是参照代码,
动态设置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()
...全文
96 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rickjelly2004 2010-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
http://www.sql-server-performance.com/articles/dba/transfer_sql_objects_task_ssis_p1.aspx
[/Quote]

多个transfer_sql_objects_task一起执行,会报错,另外tablelist这个属性想用动态的,所以用上面的那个方法只能事前指定好table,才一个个被导入,效率慢,并行的话可能快
ckcrystal 2010-10-26
  • 打赏
  • 举报
回复
高手都解決不了的問題,我只能觀望了。。。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧