14

フラットファイルから新しいテーブルに2つの列をインポートしたいだけです。1つの列'Code'をに設定しvarchar(50)、別の列'Description'をに設定しnvarchar(max)ました。

インポートは次のメッセージで失敗します。

- Executing (Error)
Messages
Error 0xc02020a1: Data Flow Task 1: Data conversion failed. The data conversion for column "Description" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page.".
 (SQL Server Import and Export Wizard)

Error 0xc020902a: Data Flow Task 1: The "output column "Description" (14)" failed because truncation occurred, and the truncation row disposition on "output column "Description" (14)" specifies failure on truncation. A truncation error occurred on the specified object of the specified component.
 (SQL Server Import and Export Wizard)

Error 0xc0202092: Data Flow Task 1: An error occurred while processing file "C:\Users\rinaldo.tempo\Desktop\ICD10_Edition4_CodesAndTitlesAndMetadata_GB_20120401.txt" on data row 3.
 (SQL Server Import and Export Wizard)

Error 0xc0047038: Data Flow Task 1: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "Source - ICD10_Edition4_CodesAndTitlesAndMetadata_GB_20120401_txt" (1) returned error code 0xC0202092.  The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.
 (SQL Server Import and Export Wizard)

nvarchar(max)エラーメッセージは、データがタイプ!の「説明」列に配置されているため、データが切り捨てられていることを示しています。入力データに目を向けると、説明は2文字または300文字を超えることはないので、これは問題外です。

誰かがここで何が悪いのか提案できますか?

4

4 に答える 4

32

インポート時の文字列列のデフォルト サイズは 50 文字です。この切り捨ては、データがデータベースに送られる前に行われます。これは、インポート ウィザードの最初のステップのColumnsセクションで調整する必要があります。

于 2013-01-08T10:11:45.677 に答える
4

エラー

「テキストが切り捨てられたか、ターゲットコードページで1つ以上の文字が一致しませんでした。」

ソースフラットファイルがUnicodeファイルであり、ターゲット列がとして定義されている場合でも発生する可能性がありますnvarchar(max)

SSISは、限られた数の行をスキャンして知識に基づいた推測を行うことにより、ソースファイルのデータ型を推測します。それを機能させるための試みが際限なく繰り返されたため、データ型のメタデータをOutputColumnWidth途中のどこかで50文字にパークし、パッケージの内部で切り捨てを引き起こしました。

データソースの[詳細設定]タブでメタデータを調べて、問題を解決します。

于 2013-01-08T10:15:09.277 に答える