2
我遇到MS SSIS問題。我想下載並上傳東西到數據庫。我正在尋找最佳做法,或者爲什麼我得到一個錯誤。SSIS空處理,腳本任務
我使用控制流(調用其他任務)。我下載的數據列中有空值。爲此我不能使用字符串或整數,否則它會退出並顯示錯誤(執行sql任務)。所以我使用對象。例如:變量sBorderName是對象,來自列的數據在這裏。
我想將其上傳到其他數據庫表中。例如,該列中也可以爲null。我無法上傳對象變量,因爲我得到的數據庫類型不匹配。
當我試着使用腳本任務(C#),我使用以下方法來消除空S: 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;
}
我得到運行時錯誤,沒有一絲的哪裏不對。該錯誤源自其他情況。我有雙重檢查變量,範圍,寫/讀權限等。
你能幫我嗎?這有什麼問題?如果你有更好的想法,如何解決這個問題?
Sziro
UPDATE:
Dts.Events.FireWarning(14, "Display Script", "sBorderName is:" + Dts.Variables["User::sBorderName"].Value, "", 0);
工作,它顯示 「sBorderName是:」
但是價值退出的每一個鑄造運行時錯誤
(String)Dts.Variables["User::sBorderName"].Value
如何能正確處理這個嗎?
我不清楚你的解決方案。你說你需要「下載和上傳東西到數據庫」。你的意思是你需要選擇和插入/更新數據,或者你說你需要ftp文件來回嗎? – billinkc 2012-07-11 20:30:42
是的,普通老選擇,然後插入。我必須使用控制流,但執行sql任務。 (所以不是數據流部分。) – Sziro 2012-07-11 22:37:30
是否有一個原因,你不使用數據流的所有這一切? – billinkc 2012-07-12 01:34:29