SSIS中的实现条件

Implementing condition in SSIS

我正在将数据从 txt 导入到 Sql Server table。那部分效果不错。

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

当我 运行 打包时,我希望它检查数据库 table 中是否存在 Date 列。如果存在,则跳过,不导入,如果不存在,则导入。我想将该日期值保存在 variable 中以供进一步操作。我怎样才能做到这一点?

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

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,如下所示:

其次,在 Lookup transformation Editor 中的 General 选项卡中添加一个 Lookup,转到 Specify how to handle rows with no matching entries 和 select Redirect rows to no match output。在 Connection 选项卡中添加到目标 table 的连接,我写了一个 Sql query 来转换 smalldatetime to date 如下图所示:

Column tab 中执行此操作:

最后添加与 lookup 以及您的 target table 和 select Lookup no matching output

的连接

在第一次执行中我插入了 3 rows 因为我的 table 中没有日期

我又执行了一次,但我有 0 rows 因为我的 table

中有日期

希望对你有帮助