2014-04-27 61 views
0

我想安排一個使用Windows調度器的perl程序。該程序將連接到Microsoft Access 2007並在其中執行一個宏。如果我執行perl程序,它可以正常工作,但在調度程序中,執行永遠不會完成,調度程序的狀態將始終保持「正在運行程序」,並且不會生成所需的輸出。我曾嘗試給絕對路徑名稱,但仍然存在問題。任何人都可以幫我弄清楚如何解決這個問題。如何在Windows中安排perl程序

+0

在任務計劃程序中,您可以選擇要執行任務的用戶。用戶有足夠的權限?您可以在程序中打印日誌以查看腳本的哪個步驟是問題嗎? – user3452713

+0

@ user3452713我用'-update> c:\ my_log.txt 2>&1'和文件是空的(沒有數據) – Programmer

回答

0

Schedule a Task中所述,打開Task Scheduler並創建一個基本任務。

我創建了一個從perl C:/devel/hello.pl5分鐘現在運行下面的腳本:

#!perl 

use strict; 
use warnings; 
use autodie; 

use Time::Piece; 

my $file = 'C:/devel/hello.log'; 

open my $fh, '>>', $file; 

print $fh scalar(localtime), "\n"; 

如果工作正常,你可以認爲它很可能是與權限和能夠訪問你的Access數據庫。無論哪種方式,請確認您可以在嘗試更復雜的腳本之前先獲取基本腳本的計劃和工作。

+0

試圖調度上述程序,我無法使用調度程序執行它。所以我創建了一個批處理文件,它將執行perl程序並運行。在訪問數據庫方面嘗試的方式相同,但執行結束一半。 – Programmer