在SSIS

时间:2016-02-04 06:32:23

标签: ssis ssis-2008

我正在将数据从txt导入Sql Server table。那部分效果很好。

每天都会删除此txt文件并形成新的txt文件(即昨天有2月3日的数据,今天是2月4日的数据(列Date))。

当我运行package时,我希望它检查数据库表中是否存在Date列。如果存在,请跳过,不导入,如果不存在 - 导入。我想将{Date}值保存在variable中以便进一步操作。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:1)

我们假设您的源文件的格式和数据如下所示

id    | product         |  dateLoad
1     |  dell           |  25-01-2016 16:23:14 
2     |  hp             |  25-01-2016 16:23:15 
3     |  lenovo         |  25-01-2016 16:23:16

,您的目的地格式为以下

create table stack(id int,product varchar(20),dateLoad smalldatetime);

SSIS添加Derived Column以将smalldatetime转换为date,如下所示:

Convert smalldatetime to Date

其次在Lookup的{​​{1}}标签中添加General转到Lookup transformation Editor,然后选择Specify how to handle rows with no matching entries。在Redirect rows to no match output标签中添加与目标Connection的连接,然后我写了一个table来转换Sql query以显示图片如下:

connection to the target table

smalldatetime to date执行此操作: enter image description here

最后添加与Column tab和您的lookup的关联,然后选择target table

在第一次执行中我插入了Lookup no matching output,因为我的表中没有日期 First execution

我执行了另一次,但我有3 rows,因为我在0 rows

中有约会

enter image description here

我希望能帮到你