- SSIS デナリの変数とパラメータの違いは何ですか?
- 違いがある場合、パラメーターができることで変数ができないことは何ですか? またはその逆。
- SSIS パラメーターと変数はいつ使用する必要がありますか?
Google で検索してみましたが、一部の情報が得られませんでした。
ありがとう!
Google で検索してみましたが、一部の情報が得られませんでした。
ありがとう!
パラメータの概念を理解するには、少しの背景知識が役立つと思います。ここでは、変数と比較する文脈で説明します。パラメーターの概念を完全に理解するには、新しいプロジェクト デプロイ モデル、環境、ビルド構成も参照する必要がある場合があります。
2012 年より前の SSIS では、実行前にパッケージに外部値を渡す必要がある場合 (常に行っているように)、通常は構成ファイル (または他のいくつかの方法) を使用します。共有ファイルへのアクセスに使用されるファイル サーバーがあるとします。変数を使用してサーバー名を格納し、この変数を構成ファイルに公開します。実際のファイル サーバーが変更された場合 (dev env から test env など)、構成ファイル内のその変数の値を変更するだけで、SSIS パッケージはそのまま残ります。
すべてがうまくいっているように見えましたが、私がいつも自問自答していることがいくつかあり、その理由を理解できませんでした。
変数を構成ファイルに公開するときは、ほとんどの場合、「値」プロパティを公開するだけです。SSIS が他のすべての変数プロパティを公開できるのはなぜですか?
SSIS に「プライベート」変数がないのはなぜですか? 「プライベート」とは、構成する変数を選択したときに、「プライベート」変数が選択リストに表示されなかったことを意味します。SSIS パッケージには、内部の値保持者のために数十の変数を含めることができます。それらを公開するポイントは何ですか? 公開する必要がある唯一のものを見つけるためにスクロールしなければならないのはなぜですか?
SSIS 2012 では、新しい配置モデルであるプロジェクト配置モデルが導入されています。要するに、このモデルは SSIS プロジェクトを 1 つのユニットとして SQL Server SSIS カタログにデプロイします。パッケージ構成はこのモデルでは使用できません (パッケージ デプロイ モデルとして参照される古いモデルで使用できます。SSIS 2012 では、どちらを使用するかを選択できます。使用、2012年デフォルトの新しいモデル)。
いくつかの値を SSIS パッケージに渡したい場合は、Parametersを介してそれらを渡し、SSMS で SSIS カタログを使用してパラメーターの値を構成する必要があります (値のみ、他に構成できるものはありません)。パラメーターと接続マネージャーは、構成可能な SSIS カタログで自動的に公開されます。構成ファイルを介して以前に利用できたものは、Project Deployment Model で構成できません (世界ははるかにクリーンです)。SSIS パッケージ内では、式を作成するという点で変数と同じようにパラメーターを使用できます。ただし、SSIS パッケージ内でパラメーターを変更することはできません。、これは完全に理にかなっています。(外部から渡された値を変更する必要があるのはなぜですか? 必要な場合は、値を変数に渡し、そこで変更を行います..)
パラメーターはプロジェクト配置モデルでのみ使用でき、このモデルで外部から SSIS パッケージに値を渡すための唯一のメカニズムを提供します。SSIS パッケージを OO クラスと考えると、パラメーターは、外部からアクセスして値を割り当てることができるパブリック プロパティと見なすことができます (クラス自体はそれを使用できます/使用しますが、変更することはできません)。変数は、内部で使用されるプライベート変数と考えることができますが、外部の世界はそれについて何も知る必要はありません。
古い Package Deployment モデルの場合、パラメーターはなく、世界は同じままです。
参考までに、変数の値は実行時に変更できますが、パラメーターは変更できません。パラメーターはプロジェクトのデプロイに役立ち、SSISDB カタログで設定できますが、変数は設定できません。