Databases
というプロジェクトパラメータがあります。このパラメータは、String
というSSISのProject
パラメータです。自身内の変数は、すなわち:
<dbs>
<data>
<db>database1</db>
<store>store1</store>
</data>
<data>
<db>database2</db>
<store>store2</store>
</data>
</dbs>
をハードコード化されたXMLドキュメントが含まれていると私は、これらのデータベースとそれに対応する店舗を繰り返すSSISでforeach loop
でそれを使用しています。
マイforeachループのように構成されている:
DocumentSourceType: Variable
DocumentSource: $Project::Databases
EnumerationType: ElementCollection
OuterXPathStringSourceType: DirectInput
OuterXPathString: /dbs/*
InnerElementType: NodeText
InnerXPathStringSourceType: DirectInput
InnerXPathString: *
及びIは、次いでUser::StoreKey
に対応するように可変User::DatabaseName
インデックス1
にインデックス0
を有することVariable Mappings
を使用して対応します。
は、SSIS
からパッケージを実行するとになります。
Failed to lock variable "$Project::Databases" for read access with error 0xC0010001 "The variable cannot be found". This occurs when an attempt is made to retrieve a variable from the Variables Collection on a container during execution of the package, and the variable is not there. The Variable name may have changed or the variable is not being created
が、変数はする必要があります:私は、これらの値を使用して、SQL文の変数は、私はSQL Agent Job
が、私はエラーを取得する使用して、これを実行しようとすると問題がある正しい出力など
を与えます作成された - それは結局のところハードコーディングされた変数にすぎません。私はこの問題の可能な解決策をGoogleで検索している
はそれをされています:変数は文字列型ではありません(それは私の場合である)
または
ユーザーそこからSQL Agent Jobは正しいアクセス権を持っていないから実行されます(私のケースでは、データを読み込んだデータベースのsysadminによって実行され、msdbとSSISDB)。
どの展開モデルをお使いですか? –
@ digital.aaron Visual Studio SSIS 2016で 'Deploy package ... 'を選択して右クリックするだけで、各パッケージをデプロイできます。別のデプロイメントオプションをテストするための論理的だと思われます。各パッケージの代わりにプロジェクト全体を展開する必要がありますか?私は家から環境にアクセスできないので、現時点ではテストすることができません。 – Cenderze