2013-02-10 119 views
0


我是SSIS新手。我想在將條目保存到數據庫表格之前格式化我的平面文件的輸入。最初我創建了一個平面文件,如下所示: - SSIS格式輸入從平面文件

  • 「1」, 「超人」, 「都」
  • 「2」, 「蝙蝠俠」, 「世界街頭」
  • 「3」,」蜘蛛俠」, 「紐約」
  • 「4」, 「詹姆斯·邦德」, 「倫敦」
  • 「5」, 「綠燈俠」, 「OA」

    的剝離,這是簡單的解決方案如這裏所示http://www.mssqltips.com/sqlservertip/1316/strip-double-quotes-from-an-import-file-in-integration-services-ssis/

    但現在我已經創建了一個新的類似的包和給我的輸入文件是這樣的: -

    • 「6」, 「忍者神龜」, 「下水道NY」
    • 「7」,「鋼鐵俠」,‘紐約’

注意這裏我分隔逗號後加一個空格。現在,當我按照上面的方法刪除雙引號的第一個數字字段,但其餘的條目保留其引號。任何想法如何解決這個問題?一個關於stackoverflow類似問題的建議提到了使用「轉換腳本」。既然我是新手,任何人都可以點亮這個方法嗎?

回答

1

是的,您可以使用腳本組件轉換。選擇所有列,並將它們更改爲ReadWrite。代碼:

public override void Input0_ProcessInputRow(Input0Buffer Row) 
{ 
    Row.ID = Row.ID.Replace("\"", string.Empty); 
    Row.Movie = Row.Movie.Replace("\"", string.Empty); 
    Row.City = Row.City.Replace("\"", string.Empty); 
} 

如果要修剪的空間,你可以使用

Row.ID.Replace("\"", string.Empty).Trim(); 

您還需要照顧,如果你想保留的「值」。如果建議有幫助或者您有任何問題,請發佈。

+0

Thanx Anoop!肯定會嘗試這個 – Sparky 2013-02-11 14:53:01

0

在你可以設置的」文本限定符「常規」選項卡,然後這些報價將被忽略。

然後你不需要寫容易出錯的腳本時,有一個簡單的解決方案。

+0

請正確地閱讀這個問題,我知道這種方法,它在第一種情況下起作用,它在我的第二種情況下不起作用 – Sparky 2013-02-11 14:52:32

+0

對不起,我的壞。 – 2013-02-11 21:21:18