プロジェクトモデルを使用して、パッケージを検証するためにdtexecへのコマンドライン呼び出しをセットアップしようとしています。私はdtexecを次のように呼び出しています:
dtexec /val /proj my.ispac /pack my.dtsx /rep v
Ispacとdtsxへの実際のパスは長くなりますが。これを実行すると、コンソールに表示されるのは次のとおりです。
Microsoft (R) SQL Server Execute Package Utility
Version 11.0.7001.0 for 32-bit
Copyright (C) 2016 Microsoft. All rights reserved.
Started: 10:40:01 AM
PS D:\>
すべてが1秒未満で実行されるので、何もしなかったと私は信じるようになります。また、詳細なレポートを要求しても、メッセージは表示されません。
これを機能させる方法についてのアイデアはありますか?
使用したパラメーターでdtexecを実行すると、ファイル名拡張子.dtsxをパッケージ名で指定できません。これにより、プログラムはエラーメッセージなしで即座に終了します。
なぜdtexecがなんらかのエラーメッセージを発行しないのはなぜかと思うので、謎のままです。
あなたはほとんどそこにいます、あなたが使っている構文はあなたが略語/Val
を使うことができないので正しいです。 公式ドキュメント から、次のことがわかります。
/ Rep [orting]level [; event_guid_or_name [; event_guid_or_name [...]]
/ Pack [age]PackageName:(オプション)。実行するパッケージを指定します。
/ Rep [orting]level [; event_guid_or_name [; event_guid_or_name [...]]
/ Proj [ect]ProjectFile:(オプション)。実行されるパッケージを取得するプロジェクトを指定します。
検証および実行フェーズ:/ VALIDATEオプションが指定されている場合、パッケージは実行されるか、実行されずに検証されます。
また、プロジェクトからパッケージを実行するときは、パッケージ拡張子.dtsx
を追加しないでください。
これに基づいて、次のコマンドを使用してみます。
dtexec /Proj my.ispac /Pack my /Rep V /VALIDATE