【问题标题】:SSIS To Iterate Access TablesSSIS 迭代访问表
【发布时间】:2014-09-04 22:03:31
【问题描述】:

我有一个数据库,其中包含大约 10 个不同的表,我想在一个 .dtsx 包中导入。我可以毫无问题地导入 1 个单独的表,我的问题是我不知道如何设置它来迭代表。我知道这将是一个 foreach 循环,但是哪种类型,以及如何指定表?有人可以帮忙吗?

编辑---- 我正在使用数据流任务导入单个表。 Going Ole DB Source -- to -- Ole DB Destination。 (从 Microsoft Access 到 SQL Server)

编辑 #2 ------ 我将如何设置我的 SQL 语句以从多个表中提取数据?我认为这是 SQL 语句的去向

【问题讨论】:

  • 如何导入 1 表?使用数据流还是对象副本?
  • 是 - 数据流任务。立即编辑初始帖子。
  • 这10个表结构一样吗?
  • 是的 - 每个表都有相同的数据结构。
  • 赞成用户名。

标签: ms-access ssis


【解决方案1】:

未经测试,但你可以试试这个:

  1. 使用 EXECUTE SQL 任务使用您要导入的 10 个表的列表填充数据集。如果表名是常量,则 EXECUTE SQL 可以很简单:

    选择“表 1”作为表名 联合所有 选择“表 2” 联合所有...

  2. ForEachLoop 遍历该数据集,填充您在数据流中的 OLEDB 源的 SQL 查询中使用的 @sql 变量。 @sql 变量包含您的整个 SQL 选择,从您正在循环的数据集中选择表名。在您的 OLEDB 源中,为数据访问模式选择“来自变量的 SQL 命令”选项。

【讨论】:

  • 如何迭代access数据库中的表来创建数据集?
  • 你不迭代表,你迭代表名。您的 OLEDB 源必须使用查询,而不是表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-23
  • 1970-01-01
  • 2016-09-04
  • 1970-01-01
  • 2022-11-14
  • 1970-01-01
相关资源
最近更新 更多