3

Excelシートからデータをインポートしています。私は次の問題に苦しんでいます -

  • 実行中 (エラー) メッセージ エラー 0xc020901c: データ フロー タスク 1: 出力 "Excel ソース出力" (9) の出力列 "Intelligence" (21) でエラーが発生しました。返された列のステータスは、「テキストが切り捨てられたか、1 つ以上の文字がターゲット コード ページで一致しませんでした。」でした。(SQL Server インポートおよびエクスポート ウィザード)

  • エラー 0xc020902a: データ フロー タスク 1: 切り捨てが発生したため、"出力列 "Intelligence" (21)" が失敗しました。指定されたコンポーネントの指定されたオブジェクトで切り捨てエラーが発生しました。(SQL Server インポートおよびエクスポート ウィザード)

  • エラー 0xc0047038: データ フロー タスク 1: SSIS エラー コード DTS_E_PRIMEOUTPUTFAILED. コンポーネント "Source - MainSheetData$" (1) の PrimeOutput メソッドがエラー コード 0xC020902A を返しました。パイプライン エンジンが PrimeOutput() を呼び出したときに、コンポーネントがエラー コードを返しました。エラー コードの意味はコンポーネントによって定義されますが、エラーは致命的であり、パイプラインは実行を停止しました。これより前に、失敗に関する詳細情報を含むエラー メッセージが投稿される場合があります。(SQL Server インポートおよびエクスポート ウィザード)

4

10 に答える 10

1

最初のエラーは、インテリジェンス列のソースデータがターゲット列よりも長いか、ターゲット列が受け入れることができない文字を含んでいることを示しています。

2番目のエラーは、インテリジェンス列がターゲット列よりも長いため、失敗することを示しています。これが本当の問題だと思います。

あなたはどちらかをすることができます

  • より大きな入力をカバーするためにターゲット列のサイズを拡大するか、
  • コンポーネントのエラー出力を切り捨て時に「失敗を無視」に切り替えます
于 2012-12-13T13:12:24.310 に答える
1

私はまったく同じ問題を抱えていました。ここで検索して多くの提案を試みましたが、私にとってうまくいったオプションは、Excelファイルをに変換し、代わりにコマンドCSVを使用することでした.bulk insert

これにより、うまくいかなかったマッピングを編集する必要がなくなりました。フィールド タイプを変更したときに、更新されていないフィールドがありました。

この回答からの以下のコード:

BULK INSERT TableName
        FROM 'C:\SomeDirectory\my table.txt'
            WITH
    (
                FIELDTERMINATOR = '\t',
                ROWTERMINATOR = '\n'
    )
GO
于 2013-10-25T15:40:13.403 に答える
0

私は同じ問題を抱えていたので、手動で Excel を調べて問題を見つける必要がありました。一番下の [レポート] -> [レポートの表示] をクリックすると、新しいウィンドウが開きます。レポートの一番下までスクロールすると、処理された行数がわかります。問題が次の行にあるとは限りませんが、少なくともその前のすべての行をスキップできます。

次に Excel で行ったことは、SQL に収まる文字数 (つまり、LEFT([Column], 255)) だけを取り出し、残りを切り捨てることでした。

理想的ではありませんが、私の場合はうまくいきました。

于 2015-02-25T20:28:40.883 に答える
0

Excel から SQL Server 2008 にインポートしているときに同じエラーが発生しました。xlsx から csv にエクスポートし、csv ファイルを Sql Server にインポートすることでそれを行うことができました。はい、列の長さを手動で調整する必要がありましたが、うまくいきました!

于 2014-04-15T12:31:58.360 に答える
0

インポート プロセスではフィールドの最大長がわからないため、CSV を使用したインポートは困難です。したがって、最初の列の長さよりも長い行にヒットすると、エラーになります。

csv ファイルを Excel ワークブックとして保存し、再インポートするだけです。前回の失敗の前に作成された既存のテーブルを削除する必要があります。

Excelなので、テーブル作成時に正しいフィールド長を取得できます。

于 2014-01-05T13:21:38.250 に答える
0

書き出す

Review Data Type Mapping で、「On Error」オプションを Ignore に変更し、「On Truncation」オプションを Ignore に変更する必要があります。これで問題は解決します。

于 2015-12-15T09:46:44.553 に答える
-1

最初の行に最大の長さを配置するだけで十分です。その後、機能します。

于 2020-05-06T10:42:17.207 に答える