固定レコード長のフラット ファイルから SQL テーブルにデータをインポートする SSIS パッケージを作成しました。1 つのファイル内では、レコード長は一定ですが、ファイルが異なればレコード長も異なる場合があります。各レコードは CR/LF で終わります。レコードの終わりがどこにあるかを検出し、インポート時にその長さを使用するにはどうすればよいですか?
質問する
1618 次
2 に答える
1
スクリプトタスクを使用できます。ReadWriteVariableをスクリプトタスクに渡します。ReadWriteVariableintLineLengthを呼び出しましょう。スクリプトタスクコードで、CR / LFの場所を検出し、intLineLengthに書き込みます。次のパッケージ手順でintLineLengthReadWriteVariableを使用して、データをインポートします。
ここにいくつかの良い例の記事があります:script-task-to-dynamically-build-package-variables
お役に立てれば。
于 2012-11-09T23:16:46.597 に答える
1
これは誰にとってもうまくいくとは限りませんが、私が最終的に行ったのは、区切り付きフラット ファイルに設定し、行区切り記号として CR/LF を設定し、列区切り記号とテキスト修飾子を空白のままにすることでした。実際にインポートで列を分割する必要がある場合、これは機能しませんが、列の位置が可変であるため、実際の列分割を行うために派生列タスクを既に使用していたので、うまく機能しました。
于 2012-11-12T16:34:41.420 に答える