- PR -

ジョブで外部プログラム実行

1
投稿者投稿内容
スンパ
ベテラン
会議室デビュー日: 2005/05/23
投稿数: 85
投稿日時: 2005-11-16 12:05
・パッケージ作成ーパッケージ名:impftp
 プロセス実行タスクのWin32プロセスに"c:\temp\testftp.exe"入力
・ジョブ作成ーパッケージを実行するため
 全般タブ:所有者 sa
 ステップタブー>全般タブ:種類 オペレーティングシステムコマンド(cmdExec)
             コマンド DTSrun /S FTPSVR /E /N impftp

の状態で、
ジョブ名マウス右クリックで、ジョブの開始を選択すると、
状態欄に実行中表示のままです。終了しません。


testftp.exeの画面が立ち上がらないといけないですが、、
アドバイスお願いします。
TLC
大ベテラン
会議室デビュー日: 2005/05/31
投稿数: 152
お住まい・勤務地: 東京都
投稿日時: 2005-11-20 14:36
引用:

スンちゃんパパさんの書き込み (2005-11-16 12:05) より:

ジョブ名マウス右クリックで、ジョブの開始を選択すると、
状態欄に実行中表示のままです。終了しません。

testftp.exeの画面が立ち上がらないといけないですが、、
アドバイスお願いします。



お疲れ様です。

まず,
SQL Server の DTS と Agent Job に関する投稿であると書かれたほうがよいと思います。
投稿の背景が明確になりますので。

さて,
SQL Server 2000 でのお話として続けさせていただきます。

DTS パッケージの単体実行では画面が立ち上がるが,
Job に DTSRun を指定して実行するとプロセスが終わらない。

という状態だと思います。

これは,Job からの CmdExec が
例えば VBS などで,

[code]-----
Dim WshShell

Set WshShell = WScript.CreateObject("Wscript.Shell")
WshShell.Run "DTSrun /S raziel\sandalphon /E /N test",0 ←これ,False
[code]-----

などとして,「非表示のウィンドウ」状態で起動されているのと同じ状態です。
非表示の画面として立ち上がっているので,プロセスはきちんと起動しています。
画面の応答待ちになっていますから,当然実行中のままになります。

Agent Job はバッチ処理などを定期的に実行するシナリオを目指して用意されています。
このため,画面応答を含むシナリオとは本来相容れないと思います。

TestFTP とありますので,何らかの FTP 処理でしょうが,
・サーバー上のプロセスで,画面応答を含む FTP 処理

・定期的に実行できるように Job に登録する
シナリオは,実際にはどのようなものでしょうか?

シナリオによっては,別の解決策がとれると思います。

----------
TimberLandChapel
http://blogs.timberlandchapel.com/blogs/timberlandchapel/
1

スキルアップ/キャリアアップ(JOB@IT)