簡體   English   中英

使用 SSIS,如何將 SQL 結果導出到多個 CSV 文件?

[英]With SSIS, how do you export SQL results to multiple CSV files?

在我的 SSIS package 中,我有一個執行 SQL 任務,它應該返回多達一億(100,0000)行。

我想將這些結果導出到多個 CSV 文件,其中每個文件最多有 500,000 行。 因此,如果 SQL 任務生成 100,000,000 個結果,我想生成 200 個 csv 文件,每個文件有 500,000 條記錄。

什么是最好的 SSIS 任務,可以自動將結果分割成許多導出的 CSV 文件?

我目前正在開發一個腳本任務,但發現它的性能不是很好。 我對 SSIS 有點陌生,所以我不熟悉所有可用的不同任務,我想知道是否還有另一個可以更有效地完成它。

有什么建議嗎?

Static 方法

首先添加一個數據流任務。

在數據流任務中添加以下內容:

  1. 來源:在屏幕截圖中的 ADO NET Source。 包含檢索數據的查詢
  2. 條件拆分:您添加的每個條件都會導致藍色 output 箭頭。 您需要將每個箭頭連接到目的地
  3. Excel 目標或平面文件目標。 取決於您想要 Excel 文件還是 csv 文件。 對於 CSV 文件,您需要設置文件連接。

有條件拆分的數據流

在條件拆分中,您可以添加多個條件來拆分數據並具有默認的 output。

條件拆分

平面文件連接管理器: 平面文件連接管理器

動態方法

  1. 使用 Execute SQL 任務檢索變量以啟動 for 循環。 (批量大小,開始,結束)
  2. 添加一個 for / foreach
  3. 在循環中添加一個數據流任務,從循環中傳入參數。 (您可以使用表達式屬性將參數/表達式傳遞給數據流中的子進程。 數據流表達式 )
  4. 根據來自 for 循環的參數,在數據流任務中使用源獲取數據。
  5. 使用基於循環參數的動態名稱寫入目標 (Excel/CSV)。

動態方法

暫無
暫無

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

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