2009-04-02 16 views
0

に一定のVARを使用するには:SQL Serverの統合サービスプロジェクトで私のように変数を定義しているどのようにSSIS

DateSecondsOffset Int default as 1 

。私は定数として使用します。タスクで

、私は別のvar NextDTを設定するには、以下のSQLを持っている:

SELECT dateadd(s, max(timestamp), 1) DT from myTable 

私は必要なときに私はそれを変更することができるようにDateSecondOffsetで1を交換したいと思います。そこにvarという名前をつけたり、@やその他の接頭辞を付けることはできますか?あなたがスクリプトにしている場合は

+0

見つけることができ、正しいこれですか? Dts.Variables( "DTSecondsOffset"):置き換える値1? –

+0

select dateadd(s、max(timestamp)、Dts.Variables( "DTSecondsOffset")。値)DT from myTable? –

答えて

0

..

Dts.Variables("DateSecondOffset").Value 

あなたはフィールドでそれに言及している場合...

Scope::DateSecondOffset 

で見つけることができますあなたのスコープと対象範囲を交換してください変数の下の "パッケージエクスプローラ"タブ。

あなたはSQLでそれに言及している場合...

SELECT @DateSecondOffset

SQLタスクおよび読み取り専用/読み書き変数にご入力/出力パラメータの設定にしてくださいスクリプトタスクで

0

SQLタスクのパラメータとしてpackage変数を渡す必要があります。あなたが定義することができ


それを行う - に「SQLタスクエディタを実行」 - >「パラメータマッピング」セクション
- またはReadOnlyVariablesオプション(ReadWriteVariablesオプションを変更できるようにしたい場合で「スクリプトタスクエディタ」ウィンドウで作業中の変数値)

その後、SQLクエリ内の変数を宣言し、最初のパラメータでそれを初期化:

DECLARE @DateSecondsOffset INT 
SET @DateSecondsOffset = ? 
SELECT dateadd(s, max(timestamp), @DateSecondsOffset) DT from myTable 

は、SQL実行タスクにパラメータを参照するためPatrick Index: Passing Variables to and from an SSIS task

+0

SET @DateSecondsoffset =?エラーが発生しました。それはそのように見える?構文では正しくありません。私はsqlserver 2005とMVS 2005を持っています –

0

構文を参照してくださいあなたが使用している接続の種類によって異なります。

例:@ParameterNameを使用するADO.NET接続。 OleDB接続では?を使用します。

完全な詳細は、こちらを

http://msdn.microsoft.com/en-us/library/cc280502.aspx

関連する問題