私は厄介なフラットファイル入力を持っています。これはコンマで区切られたファイルですが、テーブルの種類によって "[{"と "}]"または "{"と "}"で区切られた組み込みテーブルがあります。 SSISカンマ区切りのフラットファイルを使用することはできません。組み込みテーブルのないレコードがあるかもしれないからです。 これを回避するには、フラットファイルの入力を右に不揃いに設定し、1つの列に8,000文字を設定しました。スクリプトのコンポーネントによるssis unicodeフラットファイル処理
私はスクリプトコンポーネントで文字列分割を行い、テーブルデータを別々の出力ストリームに出力しました。
しかし、私は今8000文字を超えるファイルを受信していますが、これはプロセスが壊れています。
フラットファイルを "1252(ANSI Latin 1)"からNTEXTの列でユニコードに変換しようとしました。
私は私が得る文字列を見たとき、私はその後、漢字タイプ文字の多くなしラインフィードを取得するように見えるhttp://www.bimonkey.com/2010/09/convert-text-stream-to-string/
Dim TextStream As Byte() ' To hold Text Stream
Dim TextStreamAsString As String ' To Hold Text Stream converted to String
' Load Text Stream into variable
TextStream = Row.CopyofColumn0.GetBlobData(0, CInt(Row.CopyofColumn0.Length))
' Convert Text Stream to string
TextStreamAsString = System.Text.Encoding.Unicode.GetString(TextStream)
を参照してください 文字列にこれを変換するには、次のコードを挿入しかししました。
私は次に何を試すことができますか?
通常、このようなファイルでは、表の列に異なる区切り文字が使用されます。その場合は、列を文字列として扱い、splitを使用して配列に解析します。そして、そのデータをソーステーブルのキーと一緒に別の出力データフローに送信します。 – KeithL
@keithLデータの分割に問題はありません。私はそれが8,000 +文字であるときにそれを読むことができません – MiguelH