Execute Sql Task組件是一個(gè)非常有用的Control Flow Task,可以直接執(zhí)行SQL語句,例如,可以執(zhí)行數(shù)據(jù)更新命令(update,delete,insert),也可以執(zhí)行select查詢語句,返回結(jié)果集,結(jié)果集可以是一行,也可以是多行。
我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站制作、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、深圳ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的深圳網(wǎng)站制作公司一,General 選項(xiàng)卡
1,返回結(jié)果集(Result Set)
None:表示不返回結(jié)果,在執(zhí)行Update,delete或insert命令時(shí),使用該選項(xiàng);
Single row:返回單行結(jié)果,可以在Result Set 選項(xiàng)卡中,將結(jié)果集返回到1個(gè)或多個(gè)變量中
Full result set:返回多行結(jié)果,結(jié)果集存儲(chǔ)在object對(duì)象中
2,組件執(zhí)行的SQL命令(SQL Statement)
ConnectionType:連接到數(shù)據(jù)源的鏈接類型,如果是OLEDB鏈接,選中OLE DB;
Connection:鏈接字符串
SQLSourceType:SQL數(shù)據(jù)源的類型,共有三個(gè)選項(xiàng):Direct Input,F(xiàn)ile Connection 和 Variable。Direct Input表示:直接輸入SQL命令;FileConnection表示:將SQL命令保存在.sql文件中;Variable表示:SQL命令保存在SSIS的變量中,如果Execute SQL Task執(zhí)行的SQL命令是動(dòng)態(tài)變化的,使用Variable選項(xiàng)較好;
SQLStatement:要執(zhí)行的SQL語句,根據(jù)SQLSourceType的不同,有三種不同的值:SQL語句,.sql文件路徑,或SSIS變量;
3,示例:SQLSourceType=Variable
二,Expressions選項(xiàng)卡
SSIS Package的屬性,既可以在General Tab中手動(dòng)配置,也可以在Expressions Tab中配置,將配置屬性的值保存到變量中,可以動(dòng)態(tài)控制包的執(zhí)行,
示例,將SqlStatementSource的值存儲(chǔ)在變量中,結(jié)果和SqlSourceType=Variable是一樣的,只不過實(shí)現(xiàn)方式不同,并且SSIS在執(zhí)行過程中,使用Expressions的屬性覆蓋General中配置的屬性值。
三,Result Set選項(xiàng)卡
如果在General選項(xiàng)卡中,將Result Set設(shè)置為Singel Row,可以將結(jié)果值存儲(chǔ)在變量中
四,Parameter Mapping 選項(xiàng)卡
如果sql命令在執(zhí)行的過程中需要傳遞參數(shù),可以在Parameter Mapping 選項(xiàng)卡中進(jìn)行配置。如果使用的OLE DB 鏈接,需要使用 ?代表第一個(gè)參數(shù),并且在Parameter Mapping 中將parameter name設(shè)置為參數(shù)的序號(hào),第一個(gè)? 的序號(hào)是0,即序號(hào)從0依次遞增
五,返回受影響數(shù)據(jù)的行數(shù)
ExecValueVariable 屬性是Task的標(biāo)準(zhǔn)屬性。有些Task在執(zhí)行完成后,會(huì)返回輸出結(jié)果,為了獲取Task的輸出結(jié)果,我們可以定義一個(gè)變量,存儲(chǔ)輸出結(jié)果。Task的ExecValueVariable屬性就是用來指定存儲(chǔ)Task輸出結(jié)果的變量名。默認(rèn)屬性值是none,表示task的輸出結(jié)果不會(huì)被存儲(chǔ)。
Execute SQL Task 返回被更新的數(shù)據(jù)的行數(shù),我們可以為ExecValueVariable屬性指定一個(gè)變量,用來接收Task的輸出值(Execution value),在下游組件中可以引用該變量,獲取 Execute SQL Task 更新的數(shù)據(jù)行數(shù)。
Returns the number of rows affected by the SQL statement(s).The ExecValue is using the @@ROWCOUNT to assign the value of the variable and absent a @@ROWCOUNT the value returned is -1.
示例 Execute Sql Task的ExecValueVariable 用法
1,設(shè)計(jì)Package的Control Flow
Execute Sql Task的屬性:ExecValueVariable的值是變量varCount,該Task執(zhí)行的SQL語句如下:
insert into dbo.delay_testVALUES(1),(2),(3)insert into dbo.delay_testVALUES(2),(3)
Task:insert Data執(zhí)行的SQL語句是,傳入的參數(shù)是User::varCount
insert into dbo.dt_testvalues(?)
2,查看結(jié)果,第一個(gè)Task返回的結(jié)果是varCount是2,這個(gè)結(jié)果實(shí)際上是@@RowCount,SSIS在執(zhí)行語句之后,將@@RowCount賦值到Execute SQL Task 屬性ExecValueVariable指定的變量中。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站題目:SSISExecuteSQLTask用法-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://jinyejixie.com/article20/diedco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、虛擬主機(jī)、云服務(wù)器、建站公司、網(wǎng)站設(shè)計(jì)公司、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容