2017-10-10 47 views
0

在SQL Server 2014(v12.0.5556)上運行SSIS包時,它似乎在跳過腳本任務。測試包執行以下操作:SSIS 2014中的配置設置是否會導致腳本任務被跳過?

  • 定義的變量X和其初始化爲0
  • 使用腳本任務以X的值設定爲根據X的值1個
  • 分行

由於腳本任務設置X = 1,它應該總是分支到名爲的任務值爲1。在VS 2015

當部署到SQL Server(本地計算機或服務器)運行時,它的工作原理,它轉移到值是0彷彿腳本任務絕然。但是,SSIS日誌顯示該任務已成功運行。

SQL Server中或包中的任何設置是否會導致它在部署到SQL Server時跳過腳本任務?

這裏的包: The Test Package

用戶:: X變量被設置爲ReadWriteVariable。下面是在腳本任務的代碼:當在Visual Studio中運行

public void Main() 
    { 
     Dts.Variables["User::X"].Value = 1; 
     Dts.TaskResult = (int)ScriptResults.Success; 
    } 

這裏的結果(其分支機構值是1): enter image description here

這裏的結果時在SQL Server(它運行分支機構值是0): enter image description here

+0

的事實,綠色箭頭有一點點的「FX」,意味着有在那裏的約束。如果你雙擊它們,你將能夠看到有意的約束 – Lamak

+0

@Lamak。條件檢查X的值並分支到相應的任務。我這樣做是爲了表明在VS中運行時X的值被設置,但在SS中運行時沒有被設置。 –

+0

嘗試寫這個,而不是Dts.Variables [「User :: MyIntegerVariable」]。Value = Convert.ToInt32(Dts.Variables [「User :: MyIntegerVariable」]。Value)+ 1; – plaidDK

回答

相關問題