分享
 
 
 

SSIS中ExecuteSQL TASK组件

王朝mssql·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

SSIS中ExecuteSQL TASK组件

基于2005 CTP 4月版

在此文中将让你明白ExecuteSQL task组件在SSIS中的功能和作用,我将介绍下面内容:

关于任务

关于任务的属性

看完这些介绍后我将举出下面例子:

从一个有2个输入参数的SQL查询中返回一个简单的值

从一个SQL查询中返回一个记录集

执行一个存储过程并接收一个记录集、返回值、输出参数和传送一个输入参数

从SQL查询中返回XML

从一个变量中执行SQL句子

从一个文件中执行SQL句子

关于任务:

我们可以从下图中找到ExecuteSQL TASK组件

现在我们拖曳它在设计器上,可以看出它会提示你“当前组件没有指定连接”,如图

我们可以很容易的给它指定连接,双击它,如图

这样我们可以选择不同的连接类型

和2000的DTS不同,SSIS有能力把XML作为结果集返回,如图

然后你可以指定你要执行SQL的来源类型,比如是直接输入还是来自文件还是变量

如果是来源是直接输入的话,你可以输入SQL语句在 SQLStatement 属性中(点击旁边的省略号弹出输入窗口)

任务的常见属性说明

BypassPrepare

是否在在发送到连接前分析SQL句子

Connection

指定执行SQL的连接

DelayValidation

是否延迟验证SQL的有效性,如果使用了只有在当前任务中产生的表(或其他对象)的话,则可启用当前属性

Description

中文描述

Disable

是否禁止当前任务

DisableEventHandlers

是否禁止事件触发

ExecValueVariable

如果任务来源为变量的话,则需要设置该属性

Expressions

用于给某些属性设置一个动态的表达式,这样可以使任务更加灵活,如图

FailPackageOnFailure

是否设置如果当前任务执行故障则整个包执行失败

FailParentOnFailure

是否设置如果当前任务执行故障则其父容器执行失败

IsolationLevel

事务隔离级别

IsStoredProcedure

是否为存储过程

TimeOut

超时设置

使用例子

1、从一个有2个输入参数的SQL查询中返回一个简单的值

首先我们要添加一些变量到包中,并为这些变量指定初始值,如图

CountOfEmployees 为输出参数

EndDate 和StartDate 为输入参数

在上图中你可以看得定义的变量有一个作用范围,父容器定义的变量子可以使用,反之不行(可以把包看出容器)

确定了变量后,我们需要为任务指定连接

然后我们选择SQLSourceType 属性为直接输入,然后在SQLStatement属性中输入如下句子,并指定返回结果为简单行

SELECT COUNT(*) AS CountOfEmployees FROM HumanResources.Employee WHERE (HireDate BETWEEN ? AND ?)

设置后的结果如图

现在把指定的输入参数映射到变量,如图

然后把SQL产生的输出也映射到变量,如图

OK,就这样,第一个例子完成了,调试运行把, 可以看得下面的结果

看到了么,CountOfEmployees 变量的值由初始的0变成了2

2、返回一个记录集

这个例子中我们将返回一个记录集到一个变量(rsProducts),没有输入参数,有个返回的是一个记录集,故变量的类型需定义为object类型,初始值当然也为system.object了,如图

然后在SQLStatement 属性中输入如下SELECT语句返回一个记录集,并指定返回结果为记录集

之后当然也是参数映射了,如图

好了,运行调试把,我们将看得结果集被作用一个COM对象返回

3、执行一个存储过程并接收一个记录集、返回值、输出参数和传送一个输入参数

在这个例子中,我们将需要4个变量,一个为返回值,一个为输入,一个为输出,一个为记录集,我们将输入如下SQL句子

EXEC ?=dbo.sp_showAccountinCity ?,?output

然后进行参数映射,如图

可以看出上面操作是非常简单,比2000的DTS强多了

4、从SQL查询中返回XML

从SQL中返回XML其实也大同小异,只需要稍微改一下即可

首先变量的类型依然是object,然后只需指定返回类型为XML即可

5、从一个变量中执行SQL句子

这也非常简单,首先定义一个变量,如user::statemenet,其为字符型,如图

然后设置SQL来源类型为变量,在SQLStatement属性输入 user::statemenet即可

6、从一个文件中执行SQL句子

基本上同5差不多

但首先应该建立一个文件类型的来源

然后指定SQL来源类型为文件,然后指定文件来源就行了

总结

好了,就写到此了,希望你能够喜欢

该文的英文来源于 http://www.sqlis.com/default.aspx?58

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有