2017-11-08 50 views
0

先週、SSISで、AccessデータベースからSQL Serverデータベースにデータを抽出、変換、ロードするためのパッケージを作成していました。当初は、Accessの同じテーブルからデータの移行、変換、およびSQL Serverの2つの異なるテーブルへの読み込みを処理する2つの個別のパッケージを作成しました。彼らは別々に働いていましたが、今ではそれらを1つのパッケージにまとめようとしています。SSIS OLE DBエラーの問題

私が調査したところ、これは実行可能以上のものでした(2つのソースと宛先を持つ1つのデータフローを持つパッケージを持っています)が、何らかの理由でそれを動作させることができません。私が得たエラーコードを調べると、人々はデータ変換を使用することを提案しましたが、データ変換を使用して解決したデータ型に関して私は以前にエラーが発生しました。次のように

私はパッケージを実行すると、SSISは私をスローするエラーは、次のとおりです。

Error: 0xC0202009 at Data Flow Task, InfoTable [52]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. 
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "Unspecified error". 
Error: 0xC020901C at Data Flow Task, InfoTable [52]: There was an error with InfoTable.Inputs[OLE DB Destination Input].Columns[Copy of Parameter] on InfoTable.Inputs[OLE DB Destination Input]. The column status returned was: "The value violated the integrity constraints for the column.". 
Error: 0xC0209029 at Data Flow Task, InfoTable [52]: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "InfoTable.Inputs[OLE DB Destination Input]" failed because error code 0xC020907D occurred, and the error row disposition on "InfoTable.Inputs[OLE DB Destination Input]" specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure. 
Error: 0xC0047022 at Data Flow Task, SSIS.Pipeline: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "InfoTable" (52) failed with error code 0xC0209029 while processing input "OLE DB Destination Input" (65). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure. 

を与えることができる任意の助けを事前にありがとうございます!

+0

[列の整合性制約に違反した値]の可能な複製(https://stackoverflow.com/questions/19145958/the-value-violated-the-integrity-constraints-for-the-column) – dfundako

+0

Iこれは重複ではありません。最初に最新の2つの質問が重複しているように見えました。あなたのプロフィールページでQ&Aを2つの(重複した)質問として間違えました。あなたは本当により多くの情報を提供する必要があります。たとえば、「データベースを実行する」とは、正確に、そして[mcve]の残りの部分を意味します。 – philipxy

答えて

1

私はそれを理解することができました。それは私がロードしようとしていたデータにはいくつかのヌル値が含まれていたためでした。通常これは問題ありませんが、SQL Serverデータベース(特にデータがロードされているテーブル)はヌルを許可しないように設定されています。私はこれが、OLE DB Destination>テーブルまたはビューの "allow nulls"でも問題を引き起こしていると考えています。

解決策は、Nullを受け入れるようにSQL Serverテーブルを修正するか、テーブルにNULLを読み込もうとしていないようです。私は後者を行い、すべてがうまくいった(データ変換は必要ない)。

0

すべてを詳しく見ることなく、私は確信することはできませんが、エラーと問題の説明に基づいて、私はあなたに外部キー関係があり、そのデータの一部がプライマリキーが取得される前にロードされているロードされる。その場合は、優先順位制約を追加して、同じパッケージ内の2つの別々のデータフローを使用して2番目のテーブルをロードする最初のテーブルを追加します。

+0

あなたは何かにいるかもしれないと思います。私がロードしている2つのテーブルは、どちらも外部キーとして別のテーブルで参照されています。彼らの中にはどちらも外来の鍵を持っていません。この問題を解決するのを手助けするのを手助けするために、他にどのような詳細を用意する必要がありますか? – LionOrion

関連する問題