[Cascavel-pm] Dúvida sobre BDI::disconnect
Solli Moreira Honorio
shonorio em terra.com.br
Quarta Outubro 26 12:53:34 PDT 2005
Pessoal,
Quando eu executo o código abaixo, recebo o warnnig 'DBI::db=HASH(0x226f9c4)->disconnect invalidates 1 active
statement handle (either destroy statement handles or call finish on them before disconnecting) at
AVUpdate/Module/Helpesk/Spasa.pm line 90.', onde line 90 é a linha do disconnect.
<code>
sub verificar_chamado {
my $self = shift;
my $chamado = shift;
my $dbcon = DBI->connect ( $self->{dbiconnetion}, $self->{dbiuser}, $self->{dbipassword} )
or die qq{Can't connect to database: $DBI::errstr};
my $sth = $dbcon->prepare( qq{SELECT cod_status FROM ordem_servico WHERE cod_ordem_servico=$chamado} );
$sth->execute();
my $status = $sth->fetchrow_array();
$dbcon->disconnect
or warn qq{Disconnection failed: $DBI::errstr};
return $status;
}
</code>
Como eu tenho o hábito de fechar as conexões de banco de dados, fiquei confuso com esta mensagem. Não preciso
explicitar a desconexão neste caso ?
Posso simplesmente fazer algo como :
<code>
sub verificar_chamado {
my $self = shift;
my $chamado = shift;
my $dbcon = DBI->connect ( $self->{dbiconnetion}, $self->{dbiuser}, $self->{dbipassword} )
or die qq{Can't connect to database: $DBI::errstr};
my $sth = $dbcon->prepare( qq{SELECT cod_status FROM ordem_servico WHERE cod_ordem_servico=$chamado} );
$sth->execute();
return $sth->fetchrow_array();
}
</code>
sem problema ? ainda mais para um sistema que rodará como daemon ?
Thanks,
Solli
Mais detalhes sobre a lista de discussão Cascavel-pm