web-dev-qa-db-ja.com

SSIS神秘的なエラー

フラットファイルをデータベーステーブルに変換すると、これらの2つのエラーのみが発生しました。データフローは同じレイアウトの他のフラットファイルでも機能するようですので、これらのエラーの原因はわかりません。

[Flat File Source [204]] Error: An error occurred while skipping data rows.

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  
The PrimeOutput method on Flat File Source returned error code 0xC0202091.  
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.
16
BigChief

ああ、私はそれを見つけました...ファイルは古く、ヘッダーにいくつかの列がありませんでした..........

20
BigChief

上記の「ファイルは古く、ヘッダーにいくつかの列がありませんでした」という回答に同意します(この回答を支持しました)。同じエラーが発生しましたが、調査の結果、外部フラットファイルの列が欠落していたため、フラットファイル接続マネージャーが予期した列と比較しました。本質的に、SSISエラー"データ行のスキップ中にエラーが発生しました"は意味として解釈する必要があります"フラットファイルソースの実際の列をその接続マネージャで定義された列と一致させる。

10
Ubercoder
  1. 必要なすべての列がフラットソースファイルで使用可能かどうかを確認する必要がある場合があります。
  2. フラットファイル接続マネージャーで「スキップするヘッダー行の数」を確認し、ソースファイルの内容に基づいて正しいことを確認します。
5
user6585779

SSISプロジェクトで同じエラーメッセージが表示されます。問題は、フラットファイルソースの接続にありました。ちょうど接続の再作成は私のために働いた。

2
Drift_Maniac

同じエラーメッセージが表示されたので、問題を修正できました。私の分析では2つの問題が生じました。

最初の問題

hEADER ROWSオプションを使用すると、構造をマークする行のヘッダーを管理できます。たとえば、1に設定すると、行の最初の列が破棄されます。返されるエラーは、出力列の同期解除から発生します。最初の列を削除したため、ファイルからの列よりも多くの列が出力されます。 HEADER ROWSを0にリセットし、Data rows skipを1に設定して、0のままにしておくとヘッダーを削除します

2番目の問題

最初の行で列名オプションを使用すると、列をすばやく作成できますが、データフローの実行時に問題が発生します。データ行を引き続き使用して1をスキップし、詳細オプションを使用して列とそのタイプの名前を変更します

2
thewolf62

ヘッダー行のスキップカウントをゼロ(0)に設定することで解決できました。

Flat File Connection Manager --> Header rows to skip: 0
2
khichar.anil

このエラーを他のユーザーに提供するために、同じ問題(データ行のスキップ中にエラーが発生しました)がありましたが、ファイル、区切り文字、または修飾子の引用符によるものではありませんでした。ヘッダーやデータ行もスキップしていません。したがって、これは非常に迷惑なエラーメッセージであり、実際の問題に関する洞察はまったく得られません。

とにかく、フラットファイルソースエディターの[接続マネージャー]タブで[データフロー内のソースからのnull値をnull値として保持する]をオンにすることで、機能するようになりました。

1
CustodianOfCode