1

SQLServerエージェントジョブでSSISパッケージを実行しています。開発設定で開発するときに、本番環境に設定する必要のある変数がいくつかあります。この例は、テキストファイル接続文字列に使用するパスを渡すログ変数です。[値の設定]UIダイアログを使用してこの値を設定すると、このジョブステップの結果のコマンドラインは次のようになります...

/SQL "\MyFolderInMSDB\MyPackage" /SERVER "mw-test"  /CHECKPOINTING OFF /SET "\package.variables[log].Value";"C:\Logs\Imports\mylog.log" /REPORTING E

変数を設定しようとしてエラーは発生していないようですが、ジョブを実行すると、上記の変数として送信しているパスではなく、開発時にタスクで定義された変数にログが記録されます。誰かがこのようなものを見ましたか?

4

3 に答える 3

7

SQL エージェントのジョブ ステップ情報を貼り付け、再入力していないと仮定すると、問題は大文字と小文字の区別が原因である可能性が高くなります。SSISでは大文字と小文字が区別されるため、"log" の変数名は "Log" とは異なります。

/SQL "\MyFolderInMSDB\MyPackage" /SERVER "mw-test" /CHECKPOINTING OFF /SET "\Package.Variables[User::log].Properties[Value]";"C:\Logs\Imports\mylog.log" /REPORTING E

上記の@Billの例では、提供されたパスで大文字と小文字が区別されます。

于 2013-02-06T18:27:53.383 に答える
0

これを試してください:http://www.buildingmeaning.com/?p=171

とても近くにいるようです。多分変わってるだけ

"\package.variables[log].Value"

"\package.variables[log].properties[value]"
于 2013-02-06T17:17:49.560 に答える