我有一个SSIS包,其中的数据从Sql Server加载到Excel工作表。 现在,每当我运行程序包数据时,它们就会与之前加载的数据一起加载。要求是仅加载新数据,并从Excel工作表中删除现有数据。 我们也可以使用Execute sql任务来截断Excel工作表中的数据吗?
答案 0 :(得分:0)
可以使用Execute SQL TASK删除然后重新创建excel工作表,以便在导入后仅保留新数据。为此,将“执行SQL任务”添加到控制流中,并为ConnectionType
属性选择EXCEL。对于SQL语句,输入带有表名的DROP
命令,然后输入包含表DDL的CREATE
命令(excel表)。下面是一个示例。请注意,GO
关键字对于在同一任务中同时运行CREATE
和DROP
语句是必需的,否则每个任务都需要一个单独的Execute SQL Task。
示例Excel DROP和CREATE命令:
DROP TABLE SheetName
GO
CREATE TABLE SheetName (
`ID` Long,
`NAME` LongText,
`ImportDate` DateTime
)