私はCSVファイル-多くの値を持っています値の一部としてコンマを持っています。フィールド内のコンマは私のSSISパッケージを誤解させますファイルを理解する行には前に述べたよりも多くの列があります!
これを解決する方法は?
例えば:
名前、金額、住所
私、20,000、私の家、インド
あなた、23,300、あなたの家、どこ
ここでは3つの列しか存在しませんが、SSISは、フィールドを区切るために使用されるすべてのコンマを想定しています。実際には、すべてではありません。Amount列とAddress列には余分なコンマがあります。
フラットファイル接続マネージャーでテキスト修飾子を「」として使用します。これにより、引用符から値のみがコンマで区切られます。dbからのデータは引用符で囲まれます。
テキストの一部としてコンマを含むファイル内のすべての値が二重引用符( ")で囲まれていることを確認する必要があります。次に、フラットファイルソースでテキスト修飾子を設定すると、コンマがの一部としてロードされます。文字列フィールド。
これを行うためのより良い方法は、SSISデータフローで派生列変換エディターを使用し、式を変更して文字列を二重引用符で囲むことだと思います。
たとえば、列「アドレス」にカンマを含むレコードがある場合は、次のような式を作成します。
"\" "+ Address +"\""
派生列変換エディターで。
ソースを変換したくない場合は、これが良いオプションだと思います。