У меня есть сценарий Perl, который должен вызывать IBM db2 для обработки некоторых команд.Проблема в том, что соединение db2 блокируется при каждом вызове
. Это не работает:
$> db2 connect to foo
$> perl -e 'print `db2 list tables for schema bar|some_filter`;'
, а также:
$> perl -e 'print `db2 connect to foo`; print `db2 list tables for schema bar|some_filter`;'
и не делает этого:
$> perl -e 'print `db2 connect to foo && db2 list tables for schema bar|some_filter`;'
В каждом случае соединение теряется ко времени выполнения второй команды.
Это работает:
#!/usr/bin/perl
print `db2 connect to foo`;
print `db2 list tables for schema bar`;
, но это не так:
#!/usr/bin/perl
print `db2 connect to foo`;
print `db2 "select count * from bar"`;
Обходной путь может состоять в том, чтобы сгенерировать bash-скрипт из Perl и выполнить его, но было бы лучше сделать это напрямую.Есть ли способ?