2016-06-20 32 views
1

excel sourceとsql destinationで構成されたデータフロータスクがあります。データフロータスクを単独で実行すると、それが正常に実行されます。このデータフロータスクをループ内で実行すると、エラーSSISエラーコード:0x80040E37

[Excel Source [17]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E37.

[Excel Source [17]] Error: Opening a rowset for "'Sheet Data$'" failed. Check that the object exists in the database.

[SSIS.Pipeline] Error: "Excel Source" failed validation and returned validation status "VS_ISBROKEN".

似たような問題がありましたか?

+0

foreachループの実装方法を教えてください。ループ(ループなし)からループしない時まで(ループなしで)変更されたものをすべて含めてください –

答えて

3

SSISがExcelファイルで開こうとしているシートが存在しません。

+0

これは存在します。なぜoledbタスクを単独で実行しようとしたのかを教えていたのです – user1254579

+0

まだ正しい - **ワークシートは存在しません** - なぜ存在しないのかは、提供された情報で推測するのが難しいです。あなたのForEachは正しくセットアップされていますか?エラーの前に処理するスプレッドシートの数最初にいくつかのフラットテキスト接続をループしてみましたか? – BIDeveloper

+1

for each loop excelfilepathが間違った場所を参照しています(デバッグモードで見つけました)。私は別のファイルパスを指定しましたが!! – user1254579

0

私は同じ問題を抱えていました。私が知ったように、その理由は読み取り専用のプロパティでした。

データフロータスクがタスクの前に私がコメントを追加しました:私はExcelのプロパティReadOnly=Falseを設定する場所ファイルシステムタスクそれが仕事を始めました。

ここにいくつかの画面があります。私はそれが誰かを助けることができることを望む:)私の場合は

Reading files in FOr Each Loop Container

remove read-only property: File System Task Editor

1

このエラーは、削除されたExcelのブックの名マネージャーで参照名前付き範囲によるものでした。