• 締切済み

dtexecコマンドを使ってDTSパッケージを実行する方法

SQLサーバー2005でdtexecコマンドを使って DTSパッケージを実行する方法について質問です。 SQLサーバー2000から移行したDTSパッケージを、 dtexec /DTS 「パッケージ名」 /SERVER 「サーバー名」 とコマンドラインから実行しましたが パスが無効です、というエラーになってしまいます。 SSISへ格納したパッケージを実行するには、引数/DTSの部分を どのように指定すればよいのでしょうか。

みんなの回答

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.3

DTSオプションだと相対PATHみたいなので、 FileオプションでPATHを指定して見て下さい。 dtexec /File C:\sql2005\dtsx\(パッケージ名).dtsx このとき、Serverオプションは不要なので、試していただけますか?

noname#68596
質問者

お礼

はい、正しく実行できました。 お忙しいところ、お時間頂きありがとうございました。

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.2

>このPATHというのは通常、ファイルを指定する際の >入力フォーマットと同じでしょうか? >例えば保存先をCドライブにしていた場合は、 >C:\sql2005\dtsx\(パッケージ名).dtsx といった具合で指定すれば良いでしょうか? はい。そうです。 なので、 dtexec /DTS 'C:\sql2005\dtsx\(パッケージ名).dtsx' /SERVER servername(またはIPアドレス) もしくは、 dtexec /DTS C:\sql2005\dtsx\(パッケージ名).dtsx /SERVER servername(またはIPアドレス) (シングルクォートでPATHを囲わない) になると思います。 もし、上記で試してもPATHが見つからないと出る場合は、 別の原因(セキュリティ設定等)が考えられますので、 別途、ご相談頂けたらと思います。 (わかる範囲でお答えします)

noname#68596
質問者

補足

パスの囲い方はシングルクォートですか?ダブルではないでしょうか? 実は、私の環境で /dts "\file system\(パッケージ名)" と入力するとエラーが出なかったのです。 ただ、同じパッケージを通常のパスで”c:\~”といったフルパスを入力すると、 やはり「パスが無効です」と出てしまいます。 ですのでもしやと思うのですが、そもそもフルパス入力は出来ないのではないでしょうか? 下記、マイクロソフトのサイトではSSISパッケージの相対パスを入力するとありますし・・・。 http://technet.microsoft.com/ja-jp/library/ms162810.aspx まだ調査中でなんとも言えないのですが、いかがでしょうか?

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.1

dtexec /DTS '<パッケージのパス>' /SERVER 「サーバー名」 というかんじで、パスを引用符で囲ってみてください。 また、パッケージファイルは、SQL Serverがインストールされている 「サーバ」上に保存されていますか? 指定したパッケージ保存先PATHも /SERVER で指定した「サーバ」上のローカルPATHを 指定することになりますので、クライアントPCにパッケージを 保存し、クライアントのPATHを指定しても動きません。 そのあたり、念のため、ご確認下さい。

noname#68596
質問者

補足

ご回答ありがとうございました。 少し補足で質問させて下さい。 > また、パッケージファイルは、SQL Serverがインストールされている > 「サーバ」上に保存されていますか? はい。 > 指定したパッケージ保存先PATHも > /SERVER で指定した「サーバ」上のローカルPATHを > 指定することになりますので、クライアントPCにパッケージを > 保存し、クライアントのPATHを指定しても動きません。 このPATHというのは通常、ファイルを指定する際の 入力フォーマットと同じでしょうか? 例えば保存先をCドライブにしていた場合は、 C:\sql2005\dtsx\(パッケージ名).dtsx といった具合で指定すれば良いでしょうか?