0

假设我有一个如下所示的文本文件:

date 1/1/2010
a,b,c
a,b,d
...

我想将它导入到一个表中,所以它看起来像这样:

1/1/2010,a,b,c
1/1/2010,a,b,d
...

有什么优雅的方法可以做到这一点?

到目前为止,我最好的想法是使用数据流包,并使用平面文件源读取文件(忽略第一行)并将其加载到表中。完成后,让脚本任务再次打开文件,读出日期,然后将该日期传递给 sql 任务以使用日期更新表。

但肯定有一种不那么复杂的方式吗?

4

2 回答 2

2

我会将日期提取到包 datetime 变量中。然后,使用数据流来提取您提到的数据。之后,在同一数据流中,我将使用派生列转换将日期变量添加到您的缓冲区,然后将其加载到您的表中。它与您的想法相似,但需要较少的打开和关闭数据库连接,该连接将使用您的 sql 任务创建和处置。

于 2010-01-22T20:04:16.460 回答
1

我用过这个组件 --> http://www.sqlis.com/post/Row-Number-Transformation.aspx

该组件创建一个带有行号的新变量。您阅读问题中描述的文件,然后应用该组件。之后,您可以使用条件拆分来获取 id > 1 的所有行。

这避免了两次访问数据库,但涉及安装第三方组件。

Pick you poison.

于 2010-01-22T21:58:14.367 回答