日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

SSIS变量属性中EvaluateAsExpression设置的作用

發布時間:2025/3/15 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SSIS变量属性中EvaluateAsExpression设置的作用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在做SqlServer SSIS包開發的時候,經常會用到SSIS的變量,我們可以使用和修改SSIS變量的值使得SSIS包的邏輯更靈活,如下圖所示:

?

在定義SSIS變量的時候可以使用固定值(如上圖中的變量Number),也可以是使用表達式(如上圖中的變量Sql),使用表達式的時候可以讓變量去使用另一個變量的值,比如下圖是變量Sql的表達式,其中就使用了變量Number的值:

?

順便說一下,本文上面的截圖都是基于SqlServer2012的SSIS包,也就是VisualStudio 2010的SSIS包,其實VisualStudio 2008的SSIS包的變量也可以使用表達式,不過VisualStudio 2008需要打開VisualStudio的屬性窗口后才能定義SSIS變量的表達式,如下圖所示先在SSIS變量窗口選中要使用表達式的變量(變量MID_MonthsOver_SQL)

然后從視圖(View)下拉菜單中選中屬性窗口(Properties Window)

然后在屬性窗口中就可以像在VisualStudio 2010中一樣編輯變量的表達式(Expression)了

?

不管是在VisualStudio 2010還是VisualStudio 2008的SSIS變量上,都有一個設置叫EvaluateAsExpression,這個設置可以在變量的屬性窗口(Properties Window)中看到(怎么打開變量的屬性窗口上面已經說了),如下圖所示:

默認情況下SSIS變量的EvaluateAsExpression是為False的,但是一旦你為SSIS變量使用了表達式(Expression),這個設置就會被自動改變為True,當然你也可以手動改回False,那么EvaluateAsExpression為True和False的時候有什么不同呢?

實際上EvaluateAsExpression這個設置只有在SSIS變量使用表達式(Expression)的時候才會起作用,它可以控制在獲取變量值的時候是否動態計算變量的表達式。

?

舉例說明,下圖中我們設置了一個String類型的SSIS變量Sql,它的值依賴于Int32類型的變量Number,Number的初始值為0

然后我們在SSIS包的控制流中定義了三個Sequence Container(Sequence Container,Sequence Container 1,Sequence Container 2),每一個Sequence Container都會使得變量Number的值先加1,然后輸出變量Sql的值

如果變量Sql的EvaluateAsExpression為True,三個Sequence Container的輸出結果為下面所示:

?

但是如果變量Sql的EvaluateAsExpression為False,這時三個Sequence Container的輸出結果變為了下面:

?

這說明當變量Sql的EvaluateAsExpression為True時,每當在SSIS包中獲取變量Sql的值時都會動態地去計算它的表達式(Expression),用表達式的最新結果作為變量Sql的值。而當變量Sql的EvaluateAsExpression為False時,其表達式只會為變量Sql提供一個初始值,每當在SSIS包中獲取變量Sql的值時都返回的是這個初始值,而不會去重新計算變量Sql的表達式。所以這就是SSIS變量EvaluateAsExpression這個設置的作用。

?

總結

以上是生活随笔為你收集整理的SSIS变量属性中EvaluateAsExpression设置的作用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。