0

4つのSQLクエリに基づいてcsvファイルを作成するために、SSISで何かを作成しました。並べ替えとマージの配列を使用して、正しい形式の csv (と思われるもの) を返します。ただし、最長の行の長さではない行の末尾にカンマがあります。データを含む最短の行は 1 列のみですが、最長の行は約 46 です。したがって、1 列の行には、最長の行と一致する 45 個のコンマがあります。

この CSV ファイルは、定期的に生成してサードパーティ ベンダーに送信する必要があります。

カンマをクリーンアップするにはどうすればよいですか? SSIS 内で VB または C# コードを実行して、各行をトラバースし、すべてのコンマをクリアする方法はありますか?

4

1 に答える 1

0

最初に、なぜコンマを削除する必要があるのでしょうか? CSV は、(その核となる部分では) 同等と思われるデータの単一のデータ セットを表します。そのため、1 列の行と 46 の列の行は同様のエンティティである必要があり、45 の空白値は完全に有効です。エンティティが類似していない場合、なぜ同じ CSV にあるのですか?

そうは言っても、単純にコンマを削除するには、.Net に慣れていることを暗示しているため、必要なのはScript Taskです。

CSV を作成するためのデータ フローの後、次のスクリプト タスクを作成します。

  1. 生成された CSV を開きます。
  2. 行をループで読み込みます。
  3. 末尾のコンマをすべて削除します。
  4. 行を文字列バッファーに書き込みます。
  5. 最後に文字列バッファをファイルにダンプします。

または、これと同じタスクを実行するバッチ ファイルまたは実行可能ファイルを作成し、CSV を引数としてプロセス実行タスクを使用することもできます。

于 2013-06-27T16:49:21.463 に答える