3

SSIS2008のSQLサーバーデータベースに110個のExcelファイルをインポートしようとしています。

foreachループコンテナをドラッグして、正しいフォルダを指定したところです。文字列変数(foreachループスコープを使用)を作成し、デフォルト値をExcelファイルのソースフォルダー内のファイルに設定しました。

接続文字列式を作成してユーザー変数を見つけようとすると、リストにありません。リスト内の唯一の変数はシステム変数です。

誰かが私がどこで間違っているのか考えていますか?foreachループから文字列変数を定義することで、正しいスコープを設定したと感じています。

(私が作成したUser :: FilePath変数は、パッケージエクスプローラーにも表示されません。)

ありがとう。

4

1 に答える 1

3

変数をパッケージレベルに保つと、一般的にSSISのエクスペリエンスが向上します。接続マネージャーは、接続文字列変数がループ内にのみ表示されることを好まないため、設計時の検証に多少の苦痛を与える可能性があります。作成したユーザー変数は表示されますが、表示しているスコープでは表示されません。SSISのキャンバス/背景をクリックした場合は、パッケージレベルの変数のみが表示されます。私の疑惑は、変数がforeachループ内にあるか、場合によってはforeachコンテナー内のデータフローやその他のタスク上にあることです。

これらの変数を作成した場所を本当に知りたい場合は、未使用のタブ「パッケージエクスプローラー」を確認してください。不足している変数が見つかるまで、実行可能ファイルを展開し、変数項目を確認し続けます。

最後に、「間違った」レベルの変数がある場合は、BIDSHelperを使用します。適切なレベルの変数がある場合でも、BIDSHelperを入手してください。それは無料で、パッケージ開発体験を本当に改善します。

于 2011-05-11T02:39:32.670 に答える