如何用SSIS执行SQL任务

333 阅读5分钟

SSIS Execute SQL Task

SSIS执行SQL任务的定义

在SSIS中执行SQL任务是非常有用的,但对于刚起步的开发者来说,偶尔有机会使用它可能会导致混乱。Execute SQL是重要的功能之一,它在SQL服务器的整合中具有方便的组件,因为它允许用户在现有的当前流程中执行Transact-SQL查询。它被用来返回结果集,可以被SSIS包中的其他函数占用。在这篇文章中,我们可以研究一下实时环境中Execute SQL的功能和实现。

SSIS Execute SQL任务概述

Execute SQL用于返回输出结果集,应该用必要的参数和变量来实现,以便将数据推入和推出T-SQL语句,然后再由其他函数处理。执行SQL处理结果集、变量和参数,执行SQL有多种情况,比如最初的任务是从数据库的表中获取数据,然后由另一个任务返回,结果是单一行。下一个Execute SQL将获取该值并将其存储在另一个表中的行中。

在另一种情况下,它可以被用来以多行的形式检索结果,这被称为完整的结果集。用户也可以在Execute SQL中包含控制流,用于将结果集存储到给定的变量中。Foreach循环容器在变量中被用来添加SSIS组件。

简单来说,Execute SQL任务用于执行SQL集成服务器中的SQL语句、查询或存储算法,这些都来自于可用的SSIS包。用户可以实现Execute SQL来编译一个单一的SQL语句,有时它也被用来编译多个SQL语句,以按顺序运行数据。在Execute SQL任务中可用的功能和过程如下。

- Drop, alter, and create the views and tables
- 用户可以执行Execute SQL任务,在将数据注入表之前截断视图或表。
- 在将数据注入相关表或视图之前,可以重新创建事实表的维度。
- Execute SQL任务用于运行保存的过程或算法
- 将结果集存储为变量,这样开发人员可以将结果集用于其他一些任务。

配置SSIS Execute SQL任务

在这一节中,我们将以实例来说明Execute SQL任务的配置。

首先,在SSIS工具条上拖动Execute SQL任务,并把它放到控制流区域中。然后双击Execute SQL任务的任务编辑器,进行首选设置。

Execute SQL任务的常规标签用于配置一些属性,如名称和描述。

应在名称栏中提供唯一的和标准的名称,并在描述窗口中提到合适的描述,如SQL任务的简要功能。最好的做法是在描述框中给出有效和详细的说明,让开发人员更好地理解SSIS任务。

7

Execute SQL的选项标签有一个超时、类型转换和CodePage选项。TimeOut应该以秒为单位,指定超时连接,以秒为单位。如果有一个更耗时的连接,那么这个连接将默认为失败。所以它应该被设置为零,这意味着无限的秒。在将Unicode的值转换为变量时,应该给出CodePage。默认情况下,该任务将使用本地主机的代码页。在类型转换模式下,启用执行SQL任务,将结果查询和输出值转换为变量的数据类型。

如果用户想对数据源进行检查,选择连接管理器。在下拉菜单中,有许多可用的连接类型,如Excel、ADO。ODBC, OLE DB, SQLMOBILE连接和Ado.net。在连接管理器的设置中,根据要求选择一个新的连接或点击现有连接的名称。

8

在SQL源类型标签中,有三个选项,如变量、文件连接和直接输入。如果用户想直接执行SQL语句,请在选项中选择直接输入。如果文件系统持有SQL查询,那么应该选择文件连接。如果查询中存在变量数据,则从菜单中选择变量选项。

9

Execute SQL的属性帮助用户配置输出。以下属性是无、完整结果、单行和XML。如果用户不希望返回任何值或任何东西,请选择none选项。如果用户想通过Execute SQL任务截断表,因为他没有返回任何值,那么就使用none。如果用户只想返回单一行作为输出结果集,可以选择单行选项。例如,如果用户只想得到记录总数或学生行的名字,可以选择这个选项。如果用户想返回多条记录作为最终结果集,那么请选择完整的结果集选项。XML选项用于用户希望返回任何XML文件作为结果集。

10

在Execute SQL选项的结果集标签中,选择添加按钮,给出结果集的名称。应该在这个窗口中给出结果和变量名称,以建立一个合适的连接。结果和变量名称都应该是唯一的、标准的、有意义的,因为用户在随后的任务连接中使用这个名称。

11

总结

因此,这些是需要注意的执行SQL任务的几个重要属性和功能。所有这些都应该被正确配置,以提供和执行一个有意义的任务。