日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SSDT-BI之七:循环任务(容器)

發(fā)布時間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SSDT-BI之七:循环任务(容器) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這篇博客介紹一下循環(huán)任務(wù)的一種:文件循環(huán)。項目背景是這樣的:升級數(shù)據(jù)庫中,我們需要升級許多的View,Function,SP等,這些文件眾多,所以期望能夠把文件統(tǒng)一的放在一個或者幾個文件夾中一起執(zhí)行。這種需求,文件循環(huán)任務(wù)就派上用場了。

1,如下圖,容器下有兩種循環(huán),我們選擇Foreach循環(huán)容器,For循環(huán)容器請自行探索。

2,再看Package工作區(qū),拖動箭頭位置可以將兩個任務(wù)連接在一起,組成一個執(zhí)行序列。

3,雙擊Foreach循環(huán)容器任務(wù)后,打開Foreach循環(huán)容器編輯器,左側(cè)選擇集合,右側(cè)Enumerator 選擇Foreach文件枚舉器。

4,點擊Expressions右側(cè)的按鈕,打開屬性編輯器,屬性選擇Directory,表達式就選擇我們之前創(chuàng)建的變量即可,這個變量之前我們是指向Script文件夾。

5,然后我們再這樣設(shè)置一下,就能夠遍歷Script文件夾以及子文件夾下的所有sql文件。

經(jīng)過以上步驟,現(xiàn)在的循環(huán)任務(wù)已經(jīng)能夠遍歷文件,但是要怎么執(zhí)行我們遍歷的文件呢?

1,需要新建一個變量,用來存放每次循環(huán)得到的文件名,例如:File_Script。

2,在循環(huán)編輯器的窗口,左側(cè)選擇變量映射,右側(cè)變量選擇我們剛剛新建的變量,這樣每次循環(huán)文件名都會賦值給變量File_Script。

那么又怎么使用這個變量呢?

以前的博客有提到過,執(zhí)行sql文件需要文件連接,那么我們能不能創(chuàng)建一個文件連接,文件的ConnectionString就選擇File_Script呢?想到的就要去試試,不試一試就可能錯過你這一輩子最重要的東西。如下圖,我們確實創(chuàng)建了這么一個文件連接。

但是要注意File_Script這個變量的作用域,它雖然是在Package中創(chuàng)建的,但是它只有在循環(huán)中才賦值,所以相當(dāng)于只有在循環(huán)內(nèi)部才能取得一個有效的文件路徑,也就是說利用這個變量創(chuàng)建的文件連接只能在循環(huán)任務(wù)的內(nèi)部使用。

如下圖,我們在循環(huán)任務(wù)內(nèi)部加入一個執(zhí)行sql任務(wù),并且選擇剛剛創(chuàng)建的文件連接,這樣整個Script文件夾下的sql文件都會被執(zhí)行了。

請注意:在循環(huán)任務(wù)中,如果有一次循環(huán)出錯,循環(huán)任務(wù)會暫停執(zhí)行。

轉(zhuǎn)載于:https://www.cnblogs.com/marsyan/p/4539902.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的SSDT-BI之七:循环任务(容器)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。