4

コンマ区切りのフラット ファイルから SQL データベース ファイルにレコードをインポートしようとすると、「テキストが切り捨てられたか、ターゲット コード ページで 1 つまたは複数の文字が一致しませんでした」というメッセージが表示されます。ソース ファイルの特定のフィールドに 50 文字を超える文字がある場合。そのフィールドの宛先ファイル ターゲットは 1000 文字であるため、問題にはなりません。テキストファイルの「A123456789B123456789C123456789D123456789E123456789」に絞り込みましたが、「A123456789B123456789C123456789D123456789E123456789F」がエラーをスローしました。

切り捨てる前により多くの文字を許可するにはどうすればよいですか?

4

4 に答える 4

9

Importing CSV file into SQL server...に対する 2 番目の回答で答えを見つけました 。Eoan に感謝します。

最終的に、ソース データファイルの詳細エディターの [入力および出力プロパティ] タブの [外部列] の下に、デフォルトで 50 に設定されている長さプロパティがあります。これをターゲット データベース ファイルに合わせて変更するとうまくいきました。

于 2012-07-02T16:16:02.300 に答える
1

別の簡単な解決策:

Microsoft Excel がある場合は、CSV を XLSX として保存します。また、CSV の代わりに XLSX をインポートすると、インポート ウィザードは CSV よりも Excel をよりよく理解することがわかりました。

于 2013-06-04T07:15:16.193 に答える
0

Excel ファイルをインポートしても、テキストが切り捨てられるという問題が発生します。そうだと分かった

SSIS システムは、最初の 8 行ほどを調べて、EXCEL 列のデータ型を決定します (ばかげています)。したがって、最初の 8 行がすべて 255 文字未満で、8 行目以降に 255 文字を超える値がある場合、切り捨てエラーが発生します。

したがって、回避策は、問題のある列に大きな値 (> 255 文字) を持つ一時的な行を挿入してから、統合を実行することです。完了したら、一時行を削除します。-ryan1999

(ここで答えを見てください)

私の回避策は次のとおりです。

  1. 切り捨てられると思われる列の長さを含む別の列を追加します
  2. その列を最大から最小に並べ替えます
  3. 列を削除します。

これが誰かを助けることを願っています

于 2014-02-17T10:09:13.663 に答える
0

私の場合、問題のある行を最初の行として移動しました(csv/textファイルが非常に大きくなる可能性があるため、可能であれば)。

  • プレビューを実行します。
  • フィールドにはコンマが含まれていることがわかりましたが、ありがたいことに、フィールドの区切りを示す二重引用符がありました。
  • [データ ソースの選択] ダイアログ > [全般] に移動し、テキスト修飾子を追加しました: " (二重引用符)
于 2015-11-09T15:09:27.557 に答える