Toon posts:

[DBI] "Issuing rollback() for database handle..."

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben sinds gisteravond aan het kloten met het overzetten van m'n msn-botjes naar een nieuwe server. Opzich werkt het goed, maar ik krijg bij elke mysql-actie een serie van de volgende error:

Issuing rollback() for database handle being DESTROY'd without explicit disconnect() at MYSQL.pm line 50, <GEN8> chunk 6.

Ik heb de volgende code in MYSQL.pm staan:

code:
1
2
3
4
5
6
7
8
9
10
11
sub query {
    my $self = shift;
    my($query) = @_;
    my ($db);
    $db = DBI->connect("dbi:mysql:$database:$location", $user, $pass, {RaiseError=>1,AutoCommit=>1}) or &dienice("Kan niet connecten: $DBI::errstr");
    qw($query);
    $result = $db->prepare($query);
    $result->execute or db_err("Kan query niet uitvoeren", $db->errstr);
    return $result;
    $db->disconnect;
}


Als ik de "$db->disconnect;" boven het return statement zet, krijg ik de volgende warning:

DBI::db=HASH(0x82764d0)->disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at MYSQL.pm line 53, <GEN9> chunk 5.

Kan ook niet goed zijn, maar als ik nu dus $result->finish; toevoeg boven de disconnect kan ik weer niets doen met de $result in m'n TEXT.pm die een aanvraag doet.

Heb ook al een aparte disconnect functie geprobeerd:

code:
1
2
3
4
sub finish {
    $result->finish;
    $db->disconnect;
}


Hieruit krijg ik dezelfde warnings als aan 't begin van 't verhaal.

Er worden per omloop 3 query's uitgevoerd, misschien dat dit nog iets toevoegd aan dit verhaal. Graag hoor ik iedeeen om onder die probleem uit te komen.