0


私はSSISの初心者です。エントリをデータベース テーブルに保存する前に、フラット ファイルの入力をフォーマットしたいと考えています。最初に、次のようにフラットファイルを作成しました:-

  • 「1」「スーパーマン」「メトロポリス」
  • 「2」「バットマン」「ゴッサム」
  • 「3」「スパイダーマン」「ニューヨーク」
  • 「4」「ジェームズ・ボンド」「ロンドン」
  • 「5」「グリーンランタン」「おあ」

    ここに示すように、これを取り除くためのソリューションは簡単でしたhttp://www.mssqltips.com/sqlservertip/1316/strip-double-quotes-from-an-import-file-in-integration-services-ssis/

    しかし今、私は新しい同様のパッケージを作成し、次のような入力ファイルを与えました:-

    • 「6」、「TMNT」、「下水道NY」
    • 「7」「アイアンマン」「ニューヨーク」

ここで、区切りコンマの後にスペースを入れたことに注意してください。上記の方法に従うと、最初の数値フィールドから二重引用符が取り除かれますが、残りのエントリは引用符を保持します。これを回避する方法はありますか?stackoverflow に関する同様の質問に関する 1 つの提案では、「変換スクリプト」の使用について言及されています。私は初心者なので、誰でもこの方法に光を当てることができますか?

4

2 に答える 2

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();

" " の値を保持したい場合にも注意が必要です。提案が役に立った場合、または質問がある場合は投稿してください。

于 2013-02-10T15:44:41.783 に答える
0

[全般] タブで、" のテキスト修飾子を設定できます。その後、これらの引用符は無視されます。

簡単な解決策がある場合は、エラーが発生しやすいスクリプトを記述する必要はありません。

于 2013-02-11T06:14:06.720 に答える