我们可以使用Execute Sql任务截断Excel工作表中的数据吗?

时间:2019-04-14 11:25:06

标签: sql-server excel ssis oledb execute-sql-task

我有一个SSIS包,其中的数据从Sql Server加载到Excel工作表。 现在,每当我运行程序包数据时,它们就会与之前加载的数据一起加载。要求是仅加载新数据,并从Excel工作表中删除现有数据。 我们也可以使用Execute sql任务来截断Excel工作表中的数据吗?

1 个答案:

答案 0 :(得分:0)

可以使用Execute SQL TASK删除然后重新创建excel工作表,以便在导入后仅保留新数据。为此,将“执行SQL任务”添加到控制流中,并为ConnectionType属性选择EXCEL。对于SQL语句,输入带有表名的DROP命令,然后输入包含表DDL的CREATE命令(excel表)。下面是一个示例。请注意,GO关键字对于在同一任务中同时运行CREATEDROP语句是必需的,否则每个任务都需要一个单独的Execute SQL Task。

示例Excel DROP和CREATE命令:

DROP TABLE SheetName

GO

CREATE TABLE SheetName (
    `ID` Long,
    `NAME` LongText,
    `ImportDate` DateTime
)