2009-05-17 1 views
0

я сделал следующие программы в Perl перед:Как я могу обмениваться соединением базы данных через разветвленный процесс в Perl?

my $db = DBconnection with DB2 

if ($pid = fork()) { 
    #parent 
} else { 
    #child 
    $db->execute("SELECT ****"); 
    exit; 
} 

wait(); 
$db->execute("SELECT ****"); 

Я подумал, что она ждала окончания дочернего процесса хотел сделать это, и будет работать его для БД с помощью про-процесса.

Кроме того, БД не связана с содержимым ошибки.

Что случилось?

ответ

5

Существует много вещей, которые вы должны сделать, чтобы позволить дочернему процессу использовать дескриптор DBI своего родителя. См. Эту статью о Perl Monks около DBI, fork, and clone.

1

Try включая эту строку кода в вашем детском блоке:

$db->{InactiveDestroy} = 1;