【发布时间】:2014-10-10 15:14:52
【问题描述】:
我必须在两个 SQL Server 数据库之间移动数据。我的任务是将数据导出为文本 (.dat) 文件,移动文件并导入目标。我必须迁移 200 多个表。
这是我尝试过的
1) 我使用了一个执行 SQL 任务来获取我的表。 2) 使用 For each 循环遍历集合中的表名。 3) 在 for each 循环中使用脚本任务来构建文本文件目标路径。 4) 使用源 ole db 的变量中的表名和目标平面文件的变量中的路径名调用 DFT。
第一个表提取正常,但第二个表因同步错误而爆炸。我看到这是很多帖子,但找不到与我的情况相匹配的帖子。因此在这里发布。
即使我让包与多个 DFT 一起使用,第二个 DFT 中的第二个表也不会导出列,因为平面文件连接管理器仍会记住第一个表列。有没有办法让它忘记列?
关于如何使用动态源和目标变量使用一个 DFT 将多个表导出到多个文本文件有什么想法吗?
感谢并感谢您的帮助。
【问题讨论】:
-
我认为您不只是将数据从 A 推到 B 并跳过整个文件业务是有原因的?
-
是的。目标有时可能是生产,我们的 DBA 和安全性由于各种原因不允许这样做。有时我们可能不得不保留特定日期的数据,然后在目标中几天后重新应用。这两个是原因。
-
很公平。简短的回答是你不能做你想做的事。数据流与源元数据紧密绑定,在运行时无法更改。如果你可以安装BIDS Helper,我可以向你展示如何使用一些 Biml 自动生成包
-
感谢您的快速答复。我会检查是否可以在我的公司安装 BIDS Helper 并回复您。
-
竞价助手没有安装选项。它是将 biml 转换为 ssis 包的机制。很光滑。此外,对您的双向开发经验的全面补充
标签: ssis