【问题标题】:Importing specified tables dynamically from one database to another using SSIS使用 SSIS 将指定的表从一个数据库动态导入到另一个数据库
【发布时间】:2015-08-27 10:13:27
【问题描述】:

我需要创建一个 SSIS 包,它可以在目标数据库中动态创建源表,并将每日正在进行的增量从源数据库加载到目标表中。但是,我认为这是可能的唯一方法是使用脚本组件,而且我对 C# 不是特别流利。

有人可以帮我指出正确的道路吗?

谢谢, 戴夫

【问题讨论】:

  • 你试过使用复制吗?
  • 我已经考虑过了,但在这种情况下复制不是一个选项。
  • SSIS 还支持 VB 脚本吗?
  • 是的,通过脚本组件。不过它需要是 C#。
  • 动态怎么样?如果合乎逻辑,可以通过多种方式完成。

标签: c# sql-server dynamic ssis


【解决方案1】:

考虑 X ->源数据库,Y -> 目标数据库

a1,a2,a3 是包中用到的三个变量

1.然后在 executesql 任务中获取您想要的特定数据库的数据库。 将其分配给对象变量(让 a1)。

2.然后添加foreachloop容器将该变量(a1)作为ado.net变量添加到foreachloop容器中,并将a3分配为结果集变量。

3.在容器中添加executesql任务,添加带有变量(a2)的查询

在带有字符串的变量a2中添加查询

"INSERT INTO b.dbo."+@[User::a3]+"( *fieldlist* )
SELECT * FROM a.dbo."+@[User::a3] 

4.然后运行你的包,你的源数据库中的任何东西都会进入目的地

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多