Execute SQL Task组件是SSIS中最重要的Control Flow Task之一,可以直接执行TSQL语句修改数据,例如,可以执行数据更新命令(update,delete,insert),也可以执行select查询语句,把返回的结果存储到变量中。
一,General 选项卡
Genernal 选项卡中,配置EXECUTE SQL TASK组件的常用属性。
1,简单的属性
TimeOut 选项:指定Task超时的时间,单位是秒,默认值是0,表示超时时间无限长。
CodePage 选项:指定Code Page,在把Unicode值传递给变量时,用于把字符串值翻译成特定的code page。该选项仅用于OLE DB 和ADO.NET 连接。
TypeConversionMode选项:如果设置为Allowed,当把输出型参数(output parameter)和查询结果(Single row)赋值给变量时,Execute SQL Task将尝试把输出型参数和查询结果转换为变量的数据类型,这个选项仅适用于单行结果集类型。
2,返回结果集(Result Set)
Task组件返回的结果集,
- None:表示不返回结果,在执行Update,delete或insert命令时,使用该选项;
- Single row:返回单行结果,可以在Result Set 选项卡中,将结果集返回到1个或多个变量中
- Full result set:返回多行结果,结果集存储在object对象中
- XML:返回的结果是XML类型,常用于for xml 子句中。
如果Execute SQL Task 使用 Full result set, 查询会返回多个行集(multiple rowsets),但是该Task只会获取第一个行集(rowset)。
2,组件执行的SQL命令(SQL Statement)
- ConnectionType:连接到数据源的链接类型,如果是OLEDB链接,选中OLE DB;
- Connection:链接管理器
- SQLSourceType:SQL数据源的类型,共有三个选项