2009-04-14 158 views
18

Excelファイル(データフローソース)を読み取り、OLEDB宛先データフローアイテムを使用してSQL Serverにデータを転送するSSISパッケージがあります。宛先に使用されるOLEDB接続マネージャは、Windows認証を使用するように構成されています。パッケージは私の開発マシンで正常に動作します。私は(バージョン - 9.0.1399)別のマシン上で同じパッケージを開いて、それがエラーコード0xC0202009で接続マネージャー<Excel接続マネージャー>へのAcquireConnectionメソッド呼び出しに失敗しました

Error: 0xC020801C at DFT_NSOffers, Source - 'Subscription Offers$' 1 [347]: The AcquireConnection method call to the connection manager "ExcelConnection_NSOffers" failed with error code 0xC0202009. Error: 0xC0047017 at DFT_NSOffers, DTS.Pipeline: component "Source - 'Subscription Offers$' 1" (347) failed validation and returned error code 0xC020801C. Error: 0xC004700C at DFT_NSOffers, DTS.Pipeline: One or more component failed validation. Error: 0xC0024107 at DFT_NSOffers: There were errors during task validation

私はSQL Server 2005を使用しています検証フェーズで次のエラーを与える実行しようとすると、しかし

をどのように操作を行いますこれを修正しますか?他のコンポーネントやサービスパックをインストールする必要がありますか?

答えて

17

私はそれが64/32ビット誤りだとは思いません。私の開発マシンとDBサーバーは32ビットです。しかし、私はそれを動作させることができます。データフロータスクの遅延検証プロパティをTRUEに設定する必要がありました。

+4

私は非常に似た問題を抱えていました - 私はマシンを移動しませんでしたExcelファイルの場所(構成ファイルからExcel接続マネージャーの接続文字列を取得する初期のテストとして)これは私の問題を解決しました。 – RolandTumble

+0

ありがとうございます。詳細はこちら:http://blogs.msdn.com/b/ramoji/archive/2009/03/10/the-acquireconnection-method-call-to-the-connection-manager-failed-with-error-code -0xc0202009.aspx – PeterX

3

64/32ビットエラー?私はdevマシンが32bitで、実稼働サーバーが64bitだったので、これを問題として見つけました。その場合は、コマンドラインから直接32ビットランタイムを呼び出す必要があります。

このリンクは(なし64ビットJETドライバー)それは良く言う:http://social.msdn.microsoft.com/forums/en-US/sqlintegrationservices/thread/da076e51-8149-4948-add1-6192d8966ead/

+0

私の問題は32/64ビットでした。同じエラーメッセージ。私は32ビットのODBCソースをセットアップし、それを何時間も戦い、64ビットのシステムソースを追加しました。そして、私のssisパッケージは完全に働いた – Kyle

2

最終的に私のケースでは「Excelの接続の問題」を解決できましたが、64ビットの問題でエンカウンターが発生したようなものではなく、パッケージ設定を有効にしなかったときにうまく機能していました私のパッケージは設定ファイルで実行され、さらに詳細な情報が得られました。利用可能なすべてのプロパティを選択したことに気付きました。すべてをチェック解除して、パッケージ設定ファイルに保存する必要があったものだけをチェックしました。それは動作します:)

1

私のために、私はXLSファイルにネットワーク共有からアクセスしていました。接続マネージャのファイルをローカルフォルダに移動すると、問題が解決しました。

0

私はExcel接続マネージャーで遅延検証プロパティーをtrueにリセットしてくれました。試してみましょう!

+1

これは、回答よりもコメントのようになります –

2

こんにちはそして、これは64ビットのランタイムオプションを「false」を与えるソリューションエクスプローラでプロジェクトのprorpertyを変更することで解決することができ、私はExcelが私の場合は、宛先の代わりに、ソースとしてだけだったという同様の問題があった

0

元の質問/問題の場合は私はこの問題を解決するために何時間も費やしましたが、最終的にSoniya Parmarが私のためにその日を保存したように見えます。私は仕事をして、それはいくつかの反復のために実行して、今はすべて良いです。彼女の提案によれば、私はExcel接続マネージャの遅延検証を 'True'に設定しました。ありがとうSoniya

-5

この問題を解決するには、すべてのデータフロータスクを1つのシーケンスで実行します。つまり、並列に実行しないでください。 1つのデータフロータスクシーケンスには、1つのデータフロータスクのみが含まれ、この別のデータフロータスクにはシーケンスが含まれている必要があります。

例: - 私の場合は

enter image description here

1

問題は、私はSQL Serverのジョブのプロパティを設定することで解決32/64ビットドライバました:

enter image description here

+0

ありがとうございます!私はSSISパッケージ自体で32ビットに変更することについて何度も読んでいましたが、これはSQLエージェントジョブステップに言及した最初のものでした。 – Jericho

0

Excel ManagerのRetainSameConnectionプロパティをTrueに設定しました。

0

Excelスプレッドシートからデータを読み込もうとしているのと同様の問題がありました。 WinX64上で動作していました。だから、私はVS BIのプロジェクトプロパティー:Configuration Properties \ Dobugging とRun64BitRuntimeをTrueからFalseに切り替えました。 それは働いた。

関連する問題