2

2005 パッケージを 2008 に移行する際に問題が発生しました - 2008 では、構成フィルターを使用するように構成されたパッケージ変数 ([SSIS 構成] からの入力など) は、dtexec.exe が提供する /SET コマンドを無視して上書きするようです。実行時のパッケージ変数値。

問題はここに文書化されていますhttp://dougbert.com/blogs/dougbert/archive/2009/04/07/understand-how-ssis-package-configurations-are-applied.aspx

これに対する最も簡単な解決策は何ですか? パッケージ変数が [SSIS Configurations] から最初に読み込まれる古い SSIS 2005 の動作が必要ですが、/SET を明示的に呼び出すと、実行時にオーバーライドできます。

回避策はありますが、より良い解決策を望んでいます-基本的に、必要な変数の2つのバージョンがあります...たとえば、NETWORK_PATH、NETWORK_PATH_CONFIG ...NETWORK_PATHに式を配置して、NETWORK_PATH_CONFIGを使用します(この変数は入力されます[SSIS 構成] から) 実行時に NETWORK_PATH の値が最初に NULL である場合、式が最初に評価されます。それ以外の場合は、提供された値を使用します (おそらく dtexec /SET によって)

4

1 に答える 1

0

/Conn を使用して構成設定の場所を変更し、そこに別の設定を含めるか、構成から変数を完全に削除して、dtexec /set パラメーターで設定できるようにします。

デフォルトとオーバーライドが必要な場合は、/conn パラメータを使用して設定の場所を変更する必要があります。

例えば

"C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
/File "C:\Path\To\My\Package\Import Types.dtsx" /Conn Connection1;"Provider= SQLNCLI10;Server=MYSERVER;Database=DB_ONE;Uid=USERNAME;Pwd=PASSWORD;" /Conn Connection2;"プロバイダー=SQLNCLI10;サーバー=MYSERVER;データベース=DB_TWO;Uid=ユーザー名;Pwd=パスワード;"

これは 2005 年の方法よりも優れていると誰かが考えたようです。彼を殴る前に彼の理論的根拠を知りたい.

于 2011-09-26T16:33:17.330 に答える