好日子所有,SSIS條件拆分基於列的值
我有哪裏我拉數據從SQL即
select invno , date_received from sales
我想要做的就是拆分文件分成多個文件,該怎麼選擇查詢使用條件分割。 我不知道如何設置我試過如下
的條件,但它只是會創建一個文件,我如何創建一個基於列值的多個文件,如果我不知道該列的值會是?
此外,我想指定列的值,即INVNO到文件名以及防止文件
好日子所有,SSIS條件拆分基於列的值
我有哪裏我拉數據從SQL即
select invno , date_received from sales
我想要做的就是拆分文件分成多個文件,該怎麼選擇查詢使用條件分割。 我不知道如何設置我試過如下
的條件,但它只是會創建一個文件,我如何創建一個基於列值的多個文件,如果我不知道該列的值會是?
此外,我想指定列的值,即INVNO到文件名以及防止文件
使用現成的組件部分的覆蓋,你最好的選擇將是有這樣的事情
執行SQL任務將返回一個完整結果集到Object類型的SSIS變量。您的查詢將生成不同的INVNO集。 SELECT DISTINCT T.INVNO FROM dbo.Sales AS T;
然後,Foreach Loop容器將把該記錄集「碎片化」爲我們INVNO的單個實例。這要求你有一個變量,可能是String類型的變量來接收這個數字。
數據流任務將具有作爲源查詢的參數化查詢。假設OLE DB連接管理器爲select INVNO, date_received FROM dbo.Sales AS S WHERE S.INVNO = ?;
,然後映射INVNO的當前值(作爲從FELC分解的一部分)
最後,平面文件連接管理器將在ConnectionString上有一個表達式這些屬性是輸出文件完整路徑的因素。這可能是一樣簡單的東西"C:\ssisdata\" + @[User::Invno] + ".csv"
哦,並設置DelayValidation = True爲平面文件連接管理器和數據流任務。
我懷疑我的[先前的答案](http ://stackoverflow.com/search?q = user%3A181965)將會得到很多結果,但我想不出一個確切的副本來關閉它。即[碎片](http://stackoverflow.com/search?q=user%3A181965+shred)[FELC](http://stackoverflow.com/search?q=user%3A181965+FELC)等 – billinkc
謝謝你這個爲我完美工作 –
您嘗試拆分的條件是什麼? – Yahfoufi
鑑於您提供的源查詢,對於每個'invno',你想創建一個帶有「other data」'date_received'等的輸出文件,是嗎? – billinkc
是的,這是不完整的查詢只是樣本所以invno 1234創建一個文件,invno 1235創建單獨的文件等,我只是不知道有多少不同的invno會有 –