Come posso condividere una connessione al database attraverso un processo biforcuta in Perl?
Domanda
Ho fatto i seguenti programmi in Perl prima:
my $db = DBconnection with DB2
if ($pid = fork()) {
#parent
} else {
#child
$db->execute("SELECT ****");
exit;
}
wait();
$db->execute("SELECT ****");
ho pensato che aspettava la fine del processo figlio aver voluto farlo e avrebbe operato per DB da un pro-processo.
Inoltre, DB non è collegato ai contenuti del errore.
Che cosa c'è che non va?
Soluzione
Ci sono un sacco di cose che si deve fare per consentire a un processo figlio di usare la maniglia DBI del suo genitore. Si veda questo articolo sul Perl Monks su DBI, forchetta, e clonare .
Altri suggerimenti
Prova compresa questa riga di codice nel blocco del bambino:
$db->{InactiveDestroy} = 1;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow