2014-09-05 41 views
2

我有一個需求來提取Sharepoint列表數據並將它們導入到SQL Server表中。SSIS:如何處理要在SQL Server中插入的多選selectup列值表

我能夠使用SSIS數據流(包括派生列和數據轉換控件)執行此操作。 我也可以將單行,多行,日期,查找(單選)數據類型轉換爲SQL數據類型。

但現在,我的問題是查找列與多選:

  1. 我應該在派生列 - 用於數據轉換爲逗號分隔值的表達?

    下面的表達式我用來從Single Selection的查找列中獲取ID。

    SUBSTRING(商務,1,FINDSTRING(業務, 「#」,1) - 1)

enter image description here

如果你看到上面的屏幕截圖,從公示名單的輸出,它顯示未來風險緩解控制在一行中用分號分隔多個值。

在派生列輸出中,它僅取得第一個ID並放置在Risk Controls列中。

現在的問題是:

  • 我們應該得到這些ID逗號分隔,並將其存儲在SQL表VARCHAR?
  • 或者,我們應該有多行來分隔選項。

例如,

ID RiskControls 
1  1 
1  3 

另外,我有相關的數據導入另一個問題。

  1. 我們需要在哪裏設置,該軟件包會刪除或刪除表格的所有現有行並再次插入所有行?

請幫我解決這個問題。

謝謝, 米塔爾。

回答

2

這很奇怪,但今天在論壇上另外一個問題,這似乎很相似:How to use Substring in SSIS

我建議解析控制在腳本任務,並把它們分成多個行,如果這將是重要的進行分析。相對而言,在SQL中做這件事將會困難得多。

對於您的其他問題,您可以使用執行SQL任務在執行數據流之前發出Truncate table語句。