web-dev-qa-db-ja.com

SSISを使用して長い列をフラットファイルにエクスポートする際の問題

Google Big Queryが使用するファイルを生成するSSISパッケージがあります。ファイルはgzip圧縮された.tsvファイルになります。

要件の1つは、ファイルがUTF-8であることです。これをフラットファイルの宛先に設定して、65001-UTF-8に設定しました。この後、生成されたgzipファイルはBig Queryに正しく消費されます。

現在の問題は、一部のフィールドの文字長が最大21,000文字であるということです。 DT_WSTRはこのサイズを許可しません。

フラットファイルの宛先フィールドをDT_NTEXTに変更すると、次のエラーメッセージが表示されます。

エラー:0_C020802E at 14_3データフローMyTSV、フラットファイル宛先MyDestination [12]:「フラットファイル宛先MyDestination.Inputs [フラットファイル宛先入力] .Columns [値]」のデータ型はDT_NTEXTであり、ANSIではサポートされていませんファイル。代わりにDT_TEXTを使用し、データ変換コンポーネントを使用してデータをDT_NTEXTに変換します。

私が読んだすべてのソリューションには、DT_WSTRに戻すか、コードページを1252に戻す必要があります。これは、Big Queryコードページの要件とデータの長さのため、オプションではありません。この問題の別の解決策はありますか?

4
Alf47

Unicodeチェックボックスをクリックしてみてください

次の65001コードページとUnicodeチェックボックスを試してください。エラーメッセージが表示されなくなりました。うまくいけば、同じバージョンのSSDTを使用できます。私のバージョンは15です。

しかし、最初に、フラットファイルの宛先をダブルクリックし、[更新]ボタンをクリックします...

enter image description here

enter image description here

6
Sting