SSIS:截断 Excel 目标

SSIS: Truncate Excel Destination

我正在创建一个 SSIS 包,用于将数据从 SQL Server Source 导入到 Excel Destination

如何在 运行 之前 运行 分类电子表格? 我尝试了以下方式(使用 Execute SQL Task 没有成功。

Jet 提供程序不支持截断或删除命令。您有 3 个解决方法:

  • 在 运行 数据流之前克隆一个空的 excel 模板,或者
  • 使用执行sql任务在运行数据流
  • 之前创建一个新的workbook/tab
  • 使用 Drop Table TableCall_Log 删除工作表并创建一个新工作表。您可以参考此Link了解更多详情。

有用的链接

T运行阳离子不受支持。您可以使用两个任务重新创建整个 excel 文件:

  1. 第一个任务是删除目标 xls 文件的文件任务。
  2. 第二个任务是执行 SQL 任务,它创建 "table" (excel sheet)。将 EXCEL 连接类型与 excel 连接管理器和 CREATE TABLE 语句一起使用。

如果您不知道 CREATE TABLE 语句的确切形式,请尝试先在数据流任务中准备 excel 目的地,然后通过创建新的 excel sheet(通过在 Excel 目标编辑器中的连接管理器选项卡上按新建按钮)SSIS 设计器将向您展示您需要的 CREATE TABLE 语句。

如果您不确定每次 运行 包时 excel 文件是否存在,请使用完成约束将第一个任务连接到第二个任务。

对于前两个任务之后的任务,您可能还需要将 DelayedValidation 属性 设置为 True。