SSIS:截断Excel目标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSIS:截断Excel目标相关的知识,希望对你有一定的参考价值。

我正在创建一个SSIS包,将数据从qazxsw poi导入到qazxsw poi。

如何在运行之前截断电子表格?我尝试了以下方式(使用SQL Server Source没有成功。

Excel Destination

答案

Jet提供程序既不支持truncate也不支持delete命令。您有3个解决方法:

  • 在运行数据流之前有一个空的Excel模板,或者
  • 在运行数据流之前,使用execute sql task创建新的工作簿/选项卡
  • 使用Execute SQL Task删除工作表并创建一个新工作表。你可以参考这个enter image description here了解更多细节。

有用的链接

另一答案

截断不受支持。您可以使用两个任务重新创建整个excel文件:

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

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

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

您可能还需要在执行前两个任务后的任务中将DelayedValidation属性设置为True。

以上是关于SSIS:截断Excel目标的主要内容,如果未能解决你的问题,请参考以下文章

SSIS 暂存截断仓库

在SSIS中导入CSV:截断错误

SSIS - 将数据从 Excel 导出到 sql 表

SSIS包没有填充任何结果

从 Excel 文件导入时,文本被截断或目标代码页中的一个或多个字符不匹配

SSIS Excel 目标 - 定义的字段过多