web-dev-qa-db-ja.com

スクリプトタスクでプロジェクトパラメータを読み取る

これは私がスクリプトタスクでやろうとしていることです:

long lngMaxRowsToPull = Convert.ToInt64(Dts.Variables["Project::MaxRowsPerPull"].Value);

変数が存在しないというエラーメッセージが表示されます。

ただし、スクリプトに対してReadOnlyVariableとして定義されており、プロジェクトパラメーターとして存在します。

Its defined as a ReadOnlyVariable to the script

And it does exist as a project parameter

17
Metaphor

とても近い。 ;)

あなたのコードはProject::MaxRowsPerPullという名前の変数/パラメータにアクセスしようとしています

実際、$は重要なので、$Project::MaxRowsPerPullを参照する必要があります。

また、パラメーターのデータ型はInt32ですが、それをInt64にプッシュしていることにも注意してください。小さいタイプはいつでも大きいコンテナーに入れることができますが、パラメーターに大きすぎる値を入力しようとすると、パッケージが崩壊します。

21
billinkc

構文に従って、パラメータフェッチ名に$を追加する必要があります。

long lngMaxRowsToPull = Convert.ToInt64(Dts.Variables["$Project::MaxRowsPerPull"].Value);
0
Subhransu Panda