アプリ版:「スタンプのみでお礼する」機能のリリースについて

困っています。

Dドライブ直下にバッチファイルでSQLplusを起動させ、同じディレクトリにある.sqlを実行させるファイルがあります。
このバッチファイルを手動で起動させデータを取得しようとするとsqlplusが起動し上手く処理が行われるのですが、タスクスケジューラに登録すると一瞬コマンドプロンプトの画面が開きすぐに閉じてしまいsqlplusが起動せず処理が開始されません。
webで色々調べてみましたがバッチファイルの先頭に
@ECHO OFF
cd /D %~ dp0をつけても駄目でした。
タスクスケジューラから右クリックして実行を選んで処理させるとこのタスクのプロパティの履歴には操作が完了されました。とタスクが完了しました。と表示されています。
一体、どのようにしたらバッチファイルが動くようになるのでしょうか?
どなたか教えてください。

タスクスケジューラに登録したバッチファイルの内容は
@echo off
cd /D %~ dp0
d:
sqlplus ユーザ名/パスワード@ネットサービス名 @X.sql
exit
です。

以上、よろしくお願いいたします。

A 回答 (3件)

私も良くありました。



当方も同じ感じで SQLPLUS でDBバックアップを取るようなものをやりたくて。


バッチ単体では動く、タスクに入れると動いていない見たい・・・・。

起動フォルダなどに違いがあるようです。バッチ単体→そこのフォルダで動く、タスク→基底フォルダが違う?

バッチのexeやファイル名などを 完全に、ドライブ+フォルダ+ファイル名 などにして動かしています。
この辺はどうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございました。出来ました。
ファイル名をフルパスで記述したところできるようになりました。

お礼日時:2013/05/22 12:14
    • good
    • 0
この回答へのお礼

ありがとうございました。
張っていただいたリンクでいろいろ勉強することができました。

お礼日時:2013/05/22 12:15

直接の回答じゃありませんが、バッチの各行の間にpause命令を入れてバッチ処理がどこで切れてるのか調べてみては?


http://itpro.nikkeibp.co.jp/article/Windows/2005 …

この回答への補足

Eurekaさま

ありがとうございます。
pauseをいれてみたところバッチファイル文中の"sqlplus"が認識されていない
コマンドみたいです。
windows2000のときはこの文で行けたような気がするのですがwindowsserver2008は
何か違うんでしょうか?

補足日時:2013/05/22 10:18
    • good
    • 0
この回答へのお礼

ポーズすることでどこが悪いか
何が悪いかわかりました。
ありがとうございました。

お礼日時:2013/05/22 12:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!