4

構成テーブルから詳細を読み取り、その詳細をパッケージに渡すワークフローに取り組んでいます。問題のパッケージは、パラメーターとして渡されたファイル名に基づいて CSV を DB にロードしています (これは静的 DB テーブルから読み取られています)。

ボーンは機能していますが、ターゲット パッケージのパラメーターを正しく構成して正しく使用する方法がわかりません。

私の呼び出し手順では、パラメーターを設定し、以下のようにパッケージを実行します

....    
EXEC CATALOG.set_execution_parameter_value @ExecutionID
    ,@object_type = 30          -- (30 is package param!)
    ,@parameter_name = N'Parameter1'
    ,@parameter_value = @Parameter1

EXEC CATALOG.start_execution @ExecutionID

object_type には、プロジェクト、パッケージ、または実行パラメーターの 3 つのオプションがあるようです...

ターゲット パッケージ内で、Parameter1がパッケージ パラメーターとして定義されています (パッケージ デザインのパラメーター タブにリストされています)。

「フラット ファイル ソース」を構成し、接続マネージャーのプロパティ -> 式を設定しました。ConnectionString オーバーライドを @[Package::Parameter1] に設定しましたが、動作していないようです。

ありがとう。

.. アップデート。execution_parameter_values ビューから、パッケージに渡されるものを強調表示しました:-

param_idexe_id|object_t|param_t|パラメータ名|パラメータ値
3492|10184|20|文字列|パラメータ1|
3493|10184|30|文字列|Parameter1|c:\abc.csv
3494|10184|30|文字列|CM.BLACKBEAST-II.StagingDB.ConnectionString|データソース=BLACKBEAST-II;初期カタログ=StagingDB;プロバイダ=SQLNCLI11. 1;統合セキュリティ=SSPI;自動翻訳=False;

4

1 に答える 1

0

パッケージ レベルの変数を参照すると、@[Namespace::VariableName]示したパターンが使用されます。

パラメータは、Package か Project かに関係なく、@[$Project::VariableName]and/orの構文を使用します@[$Package::VariableName]

したがって、ConnectionString の式では、使用する必要が@[$Package::Parameter1]ありました (より適切な名前を選択しましたが、既にそれを知っていました)。

于 2013-05-24T21:40:20.367 に答える