0

我正在构建一系列旨在执行以下操作的 SSIS 包:

1.) 将几千行从 CSV 文件导入到一系列 SQL 2005 表中 2.) 将几千行导出到一系列 CSV 文件中

在深入研究之前,我有一些担忧:

a.) 在我导入 csv 文件之前,我首先要检查我正在导入的文件是否未打开或未被其他应用程序写入。有什么办法可以在 SSIS 中做到这一点?

b.) 因为我要通过 VPN 传输数据,所以我担心首先从 CSV 文件传输数据,然后在我的 sql 表中转换数据。这不仅仅是直接导入 - 我必须将 csv 行中的一些列转换为我的 SQL 表的有效值,并根据我的数据库中的现有数据检查它们是插入还是更新。我是否应该首先考虑将 csv 数据传输到临时表中,然后再考虑将进一步的转换写入我的主表(我认为这可能比即时尝试这两个步骤更强大。)

非常感谢您的建议!

4

1 回答 1

1

一个。如果您的文件正在与脚本块一起使用,您可以检查控制流。

湾。首先将您的文件复制到本地区域,然后从该位置导入它们。使用暂存数据库将文件导入 rawtable 然后转换并决定在插入这些表后将行插入 table4update 或 table4insert ,您可以使用单个 sql 语句(控制流)插入/更新目标表。不要忘记分批思考。在阅读之前截断您的临时表。

于 2008-11-14T09:54:40.513 回答