Como posso compartilhar uma conexão de banco de dados em um processo bifurcada em Perl?

StackOverflow https://stackoverflow.com/questions/874434

  •  22-08-2019
  •  | 
  •  

Pergunta

Eu fiz os seguintes programas em Perl antes:

my $db = DBconnection with DB2

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

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

Eu pensei que ele esperou o final do processo de criança ter queria fazê-lo e iria operá-lo para o DB por um pró-processo.

Além disso, a DB não está ligado ao conteúdo do erro.

O que há de errado?

Foi útil?

Solução

Há um monte de coisas que você deve fazer para permitir que um processo filho a usar alça DBI do seu pai. Consulte este artigo sobre Perl Monks sobre DBI, garfo e clone .

Outras dicas

Tente incluindo esta linha de código em seu bloco de criança:

$db->{InactiveDestroy} = 1;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top