如何删除SSIS中的Excel行?

时间:2008-10-28 17:53:07

标签: sql-server ssis etl

是否可以从SSIS中删除Excel工作表中的行?

3 个答案:

答案 0 :(得分:3)

来自forum

  1. 在控制流中创建文件系统任务,删除文件。
  2. 创建一个sql任务,excel连接类型,我使用我以前的excel连接,然后使用创建表脚本作为我的sql语句
  3. 将我之前的导出对象保持不变,然后按照所描述的顺序链接这些导出的流程。

答案 1 :(得分:1)

由microsoft声称,arctile声称您无法删除整行,但可以删除单元格中的值。 http://support.microsoft.com/kb/257819

此主题涉及具有相同问题的人: http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework.adonet/2006-12/msg00245.html

简而言之,答案似乎是“不”,您无法通过SSIS使用ado.net删除整行。您可以在excel中使用excel自动化或vb.net来完成此任务。

答案 2 :(得分:1)

我也是按照Gulzar建议的步骤做到的,但是,如果有人想要详细信息,这就是我所做的:

我最初有一项任务是从SQL Server读取一些信息并将其导出到Excel:

enter image description here

然后我添加了建议的任务,一个用于删除目标Excel文件,另一个用于重新创建它:

enter image description here

这是删除文件的任务,它是一个"文件系统任务":

enter image description here

这是重新创建Excel文件的任务,它是一个"执行SQL任务":

enter image description here

需要为此"执行SQL任务":

设置以下内容

一个。连接类型是" Excel"

湾如建议的那样,连接与原始导出任务使用的连接相同

℃。 SQL语句是从原始导出任务

复制的

基本上就是这样。运行它,它应该工作。我与SQL Server的连接如下所示:

enter image description here

我的Excel连接最初是在创建导出任务时创建的,如下所示:

enter image description here

在"数据流"部分,使用Source Assistant,原始" OLE DB源"有这个:

enter image description here

并且,使用目标助手,原始Excel目标具有:

enter image description here

这是我从原始Excel目标中复制的SQL语句:

enter image description here