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