簡體   English   中英

SSIS空處理,腳本任務

[英]SSIS Null handling, script task

我在使用MS SSIS時遇到麻煩。 我想將資料下載並上傳到數據庫。 我正在尋找最佳實踐,或者為什么會出錯。

我使用控制流(稱為其他任務)。 我下載的數據的一欄中沒有空值。 為此,我不能使用字符串或整數,否則它會以錯誤退出(執行sql任務)。 所以我用對象。 示例:變量sBorderName是對象,列中的數據在此處。

我想將此上傳到另一個數據庫表。 例如,該列中也可以有null。 我無法上傳對象變量,因為我遇到數據庫類型不匹配的情況。

當我嘗試通過腳本任務(C#)消除null時,我使用以下命令:sBorderName是對象sBorderNameSafe是字符串

if (Dts.Variables["User::sBorderName"].Value == null)
{
    Dts.Variables["User::sBorderNameSafe"].Value = "NULL ERROR";
}
else
{
    Dts.Variables["User::sBorderNameSafe"].Value = 
        (String)Dts.Variables["User::sBorderName"].Value;
}

我遇到運行時錯誤,沒有任何提示。 該錯誤源於else情況。 我仔細檢查了變量,范圍,寫/讀權限等。

你能幫我么? 這有什么問題? 如果您有更好的主意,該如何解決問題?

西羅

更新:

Dts.Events.FireWarning(14, "Display Script", "sBorderName is:" + Dts.Variables["User::sBorderName"].Value, "", 0); 

確實有效,它顯示“ sBorderName是:”

但是,每次對值的轉換都會因運行時錯誤而退出

(String)Dts.Variables["User::sBorderName"].Value

一個人如何正確處理呢?

Convert.ToString(Dts.Variables("sBorderName ").Value)

如果變量有時可以為null,那就可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM