【发布时间】:2011-11-30 11:47:37
【问题描述】:
我有一个带有 3 个固有表的 MS SQL 数据库。一个通用的称为“工具”,还有两个更具体的称为“DieCastTool”和“Deburrer”。
我的任务是从旧的 MS Access“数据库”中获取数据。我的问题是,我必须做大量的搜索和过滤工作,直到获得想要导入新数据库的数据。所以最后我不想多次执行这些步骤,而是同时填充 3 个表。 因此,我使用的是 da Dataflowtarget,其中我没有选择某个表,而是使用 sql select 语句(在 id 列上有内部连接)来接收 3 个表的所有字段。然后我匹配列,我认为它应该可以工作。只要我只选择要填充的“工具”表的列,它就可以了。添加子表的列时,不幸的是它没有并返回错误代码 -1071607685 =>“没有可用的状态”
我能想到我的解决方案不起作用的两个原因:
- SSIS 根本无法处理 SQL 表中的继承并将它们视为单独的表。 (也许 SSIS 甚至无法处理在一个 Dataflowtarget 元素中填充多个表?)
- 我以错误的方式使用 SSIS。
如果有人可以确认/拒绝原因 1,那就太好了,因为我没有找到关于这个主题的任何内容。
【问题讨论】:
-
如果我总结一下,源数据非常丑陋,清理它很复杂。由于这些复杂性,您的偏好是清理一次数据,然后按顺序写入最多 3 个表,以尊重潜在的 FK 关系。
标签: sql-server inheritance ssis sql-server-2008-r2