7

ソースは TXT フラット ファイル ソースで、宛先のタイプは OLE DB です。(画像参照)

ここに画像の説明を入力

パッケージを作成するためのCode Project に関する非常に基本的なチュートリアルを見つけました。手順は完了しましたが、デバッグ時に奇妙なエラーが発生しました(以下):

誰かがこのエラーについて説明できますか? ウェブでエラーを検索するのに何時間もかかりました。

SSIS パッケージ "C:\Users\USRNAME\Desktop\Projects\DataGeneratorSsis\DataGeneratorSsis\Package.dtsx" が起動しています。情報: データ フロー タスクの 0x4004300A、SSIS.Pipeline: 検証フェーズが開始されています。情報: データ フロー タスクの 0x4004300A、SSIS.Pipeline: 検証フェーズが開始されています。警告: データ フロー タスク、SSIS.Pipeline の 0x80047076: 出力列 "intApplication" (7) の出力 "フラット ファイル ソース出力" (6) およびコンポーネント "フラット ファイル ソース" (2) は、その後データ フローで使用されません。仕事。この未使用の出力列を削除すると、データ フロー タスクのパフォーマンスが向上する可能性があります。情報: データ フロー タスクの 0x40043006、SSIS.Pipeline: 実行フェーズの準備が開始されています。情報: データ フロー タスク、SSIS.Pipeline で 0x40043007: 実行前フェーズが開始されています。情報: 2 : ファイル「C:\Users\USRNAME\Desktop\ddd.txt」の処理が開始されました。情報: データ フロー タスクの 0x4004300C、SSIS.Pipeline: 実行フェーズが開始されています。情報: データ フロー タスクの 0x402090DE、フラット ファイル ソース2: ファイル "C:\Users\USRNAME\Desktop\ddd.txt" に対して処理されたデータ行の総数は 2 です。エラー: データ フロー タスクの 0xC0202009、OLE DB 宛先 [43]: SSIS エラー コード DTS_E_OLEDBERROR。OLE DB エラーが発生しました。エラー コード: 0x80040E21。OLE DB レコードが利用可能です。ソース: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E21 説明: "複数ステップの OLE DB 操作でエラーが発生しました。利用可能な場合は、各 OLE DB ステータス値を確認してください。作業は行われませんでした。". エラー: データ フロー タスクの 0xC020901C、OLE DB 宛先 [43]: OLE DB Destination.Inputs[OLE DB Destination Input].Columns[AppID] OLE DB Destination.Inputs[OLE DB Destination Input] でエラーが発生しました。返された列のステータスは、「データが失われる可能性があるため、値を変換できませんでした。」でした。エラー:データ フロー タスクの 0xC0209029、OLE DB 宛先 [43]: SSIS エラー コード DTS_E_INDUCEDTRANSFORMFAILUREONERROR。エラー コード 0xC0209077 が発生したため、"OLE DB Destination.Inputs[OLE DB Destination Input]" が失敗し、"OLE DB Destination.Inputs[OLE DB Destination Input]" のエラー行の処理でエラーの失敗が指定されています。指定されたコンポーネントの指定されたオブジェクトでエラーが発生しました。これより前に、失敗に関する詳細情報を含むエラー メッセージが投稿される場合があります。エラー: データ フロー タスク、SSIS.Pipeline で 0xC0047022: SSIS エラー コード DTS_E_PROCESSINPUTFAILED。入力「OLE DB Destination Input」(56) の処理中に、コンポーネント「OLE DB Destination」(43) の ProcessInput メソッドがエラー コード 0xC0209029 で失敗しました。識別されたコンポーネントが ProcessInput メソッドからエラーを返しました。エラーはコンポーネントに固有のものですが、エラーは致命的であり、データ フロー タスクの実行が停止します。これより前に、失敗に関する詳細情報を含むエラー メッセージが投稿される場合があります。情報: データ フロー タスク、SSIS.Pipeline で 0x40043008: 実行後フェーズが開始されています。情報: データ フロー タスクの 0x402090DD、フラット ファイル ソース2 : ファイル「C:\Users\USRNAME\Desktop\ddd.txt」の処理が終了しました。情報: データ フロー タスクの 0x4004300B、SSIS.Pipeline: "OLE DB Destination" が 0 行を書き込みました。情報: データ フロー タスク、SSIS.Pipeline で 0x40043009: クリーンアップ フェーズが開始されています。タスクが失敗しました: データ フロー タスクの警告: パッケージで 0x80019002: SSIS 警告コード DTS_W_MAXIMUMERRORCOUNTREACHED。Execution メソッドは成功しましたが、発生したエラーの数 (4) が最大許容数 (1) に達しました。故障の原因となります。これは、エラーの数が MaximumErrorCount で指定された数に達すると発生します。MaximumErrorCount を変更するか、エラーを修正してください。SSIS パッケージ "C:\Users\USRNAME\Desktop\Projects\DataGeneratorSsis\DataGeneratorSsis\Package.dtsx" が終了しました: 失敗。

関連するエラー メッセージ

OLE DB Destination.Inputs[OLE DB Destination Input].Columns[AppID] on OLE DB Destination.Inputs[OLE DB Destination Input] でエラーが発生しました。返された列のステータスは、「データが失われる可能性があるため、値を変換できませんでした」でした。

4

5 に答える 5

12

したがって、このエラーは、宛先の AppID 列に対して無効な AppID 列のソースの値があるために発生しています。

考えられる例:

  • 10 文字の値を 8 文字のフィールドに挿入しようとしています。
  • tinyint フィールドに 127 より大きい値を挿入しようとしています。
  • 値 6.4578 を decimal(5,1) フィールドに挿入しようとしています。

SSIS はメタデータによって管理されており、両方の許容値が同じ範囲内になるように、入力と出力が適切に設定されていることを前提としています。

于 2013-09-30T15:47:03.420 に答える
0

クエリが異常な方法で失敗した場合 (たとえば、サブクエリが oracle oledb 接続で複数の行を返す)、選択コンポーネントからこのエラーを受け取ることもできます。

于 2014-12-05T01:50:14.600 に答える
0

私の場合、パッケージが実行されていた基になるシステム アカウントがロックアウトされました。システム アカウントのロックを解除してパッケージを再実行すると、正常に実行されました。開発者は、デバッグ中にこれを知り、サーバーに直接接続して接続の状態を確認しようとしたと述べています。

于 2016-03-09T12:20:31.093 に答える