【发布时间】:2019-04-14 11:25:05
【问题描述】:
我有一个 SSIS 包,其中数据从 Sql 服务器加载到 Excel 工作表。 现在,每当我运行包数据时,都会加载以前加载的数据。要求是仅加载新数据并从 excel 表中删除现有数据。 我们也可以使用执行 sql 任务来截断 excel 表中的数据吗?
【问题讨论】:
标签: sql-server excel ssis oledb execute-sql-task
我有一个 SSIS 包,其中数据从 Sql 服务器加载到 Excel 工作表。 现在,每当我运行包数据时,都会加载以前加载的数据。要求是仅加载新数据并从 excel 表中删除现有数据。 我们也可以使用执行 sql 任务来截断 excel 表中的数据吗?
【问题讨论】:
标签: sql-server excel ssis oledb execute-sql-task
执行 SQL TASK 可用于删除然后重新创建 Excel 工作表,以便在导入后只留下新数据。为此,将执行 SQL 任务添加到控制流并为 ConnectionType 属性选择 EXCEL。对于 SQL 语句,输入带有表名的 DROP 命令,后跟包含表的 DDL(Excel 表)的 CREATE 命令。下面是一个例子。请注意,GO 关键字对于在同一个任务中同时运行 CREATE 和 DROP 语句是必需的,否则每个语句都需要一个单独的执行 SQL 任务。
Excel DROP 和 CREATE 命令示例:
DROP TABLE SheetName
GO
CREATE TABLE SheetName (
`ID` Long,
`NAME` LongText,
`ImportDate` DateTime
)
【讨论】: