簡體   English   中英

將批處理文件作為計划任務運行會不會表現出應有的作用?

[英]Running a batch file as a scheduled task does not behave as it should?

我有一個jar文件,該文件使用jdbc連接到sql db並添加新記錄。 要使用arg執行此操作,我將cmd line命令放在批處理文件中以運行它。

現在,如果我手動單擊並運行該批處理文件,它可以正常工作,並且可以在我的sql數據庫中看到新記錄,但是我創建了一個計划的任務來為我運行一次該批處理文件,看起來好像成功了一次,但是沒有新記錄添加到數據庫中。

關於發生這種情況的任何想法?

批處理文件僅占一行,因為我運行它時似乎可以工作?

java -Dvar =每日-jar SQL_JDBC_Bandon.jar

我將其發布為答案,因為它在評論中看起來很難看。

要使執行日志與計划任務的任務執行日志進行比較,請創建與此類似的批處理。

@echo off
echo JDBC executed %DATE% %TIME% >> C:\temp\logs\jdbctask.log
C:
cd \PathToYourJar
C:\Programs\Java\bin\java -version >> C:\temp\logs\jdbctask.log
Dir C:\Programs\Java\bin\java.* >> C:\temp\logs\jdbctask.log
C:\Programs\Java\bin\java -Dvar=daily -jar SQL_JDBC_Bandon.jar >> C:\temp\logs\jdbctask.log

這樣可以確保您不依賴運行批處理的用戶可能未設置的PATH或JAVA_HOME變量。請根據需要調整路徑。 如果仍然失敗,請發布日志文件的結果。

我不久前就發現了,但是我所做的只是將這兩行放在一個.bat文件中,並且它作為預定任務可以正常工作:

cd C:\Users\SQLService\Desktop\ScadaCalcs
java -Dvar=daily -jar SQL_JDBC_Bandon.jar

需要注意的一件事是jar和腳本都在ScadaCalcs目錄中,但是我必須使用cd絕對路徑才能工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM