На сервере Windows у меня есть много Perl-скриптов, которые вставляют данные в базу данных sqlserver.Они вызываются через задания агента sql, которые запускают файлы .bat
Все сосуществует на одном компьютере \\ oldserver
Изменения в политике компании требуют, чтобы я разделил систему, чтобы база данных былана \\ dbserver и интерпретаторе perl, сценарии и вспомогательные файлы все живут на \\ appserver
Что мне нужно сделать, чтобы отключить мой sql-агент на базе \\ dbserver.файлы bat на \\ appserver, поэтому каждый файл bat работает так, как если бы он был запущен на \\ appserver ?(т.е. используя perl, установленный на \\ appserver, имеет доступ к настройкам среды \\ appserver windows, таким как PERL5LIB и т. д.)?
Каждый BAT-файл выглядит примерно так:
@echo off
d:
cd project\foo\scripts\myscript.pl
Каждый скрипт на Perl выглядит примерно так:
#!/perl/bin
use warnings;
use inHouseLibrary; # via PERL5LIB Env variable on \\\appserver
#[snip]
my $incoming = <path to local folder>;
my $archive = <path to some other local folder>;
my $config;
$config = do $config_file or die;
foreach my $file ( <files in local folder>){
#do database-related stuff involving the contents of the file
File::Copy->move($file, $archive . $file);
}
(я знаю о нарушении DRY Принцип . Это просто долг, который я должен нести прямо сейчас)
В случае, если это актуально:
- \\ dbserver имеет SqlServer 9.0 (2005)
- \\ appserver имеет activestate perl v5.10.1 MSWin32-x86-multithread
- Обе машины имеют Windows Server 2008 R2 Standard