--- nfo/perl/libs/libdb.pm 2002/07/19 18:14:03 1.1 +++ nfo/perl/libs/libdb.pm 2002/07/27 00:28:20 1.3 @@ -1,7 +1,14 @@ ## -------------------------------------------------------------------------------- -## $Id: libdb.pm,v 1.1 2002/07/19 18:14:03 cvsjoko Exp $ +## $Id: libdb.pm,v 1.3 2002/07/27 00:28:20 cvsjoko Exp $ ## -------------------------------------------------------------------------------- ## $Log: libdb.pm,v $ +## Revision 1.3 2002/07/27 00:28:20 cvsjoko +## bugfixes +## +## Revision 1.2 2002/07/20 11:09:58 cvsjoko +## + bugfixes +## + dont' print sql-errors +## ## Revision 1.1 2002/07/19 18:14:03 cvsjoko ## no message ## @@ -105,11 +112,12 @@ croak "please supply a dsn or a \"dbmeta\"-hash" if (!$dbmeta); $dbmeta = patch_dbmeta($dbmeta); if (!$dbmeta->{connected}) { - if ($dbmeta->{dbh} = DBI->connect($dbmeta->{dsn})) { + if ($dbmeta->{dbh} = DBI->connect($dbmeta->{dsn}, '', '', { PrintError => 0 } )) { $dbmeta->{dbh}->trace($dbmeta->{trace_level}, $dbmeta->{trace_file}); $dbmeta->{dbh}->{PrintError} = 0; $dbmeta->{connected} = 1; $dbmeta_ref_cache = $dbmeta; + return 1; } } } @@ -165,19 +173,33 @@ trace_level => 1, trace_file => 'dbitrace', }; - connectTarget($dbmeta); - sendSql($sql); - disconnectTarget($dbmeta); + my $bool_ok; + if (connectTarget($dbmeta)) { + sendSql($sql); + #print "state: ", $dbmeta->{dbh}->state, "\n"; + #print "err ", $dbmeta->{dbh}->err, "\n"; + #$bool_ok = ($dbmeta->{dbh} && $dbmeta->{dbh}->state && !$dbmeta->{dbh}->err); + $bool_ok = ($dbmeta->{dbh} && !$dbmeta->{dbh}->err); + disconnectTarget($dbmeta); + } + return $bool_ok; } sub createSqlDb { my $dsn = shift; my $dbname = getDbNameByDsn($dsn); - print " - creating database $dbname", "\n"; + print " - creating rdbms-database $dbname ($dsn) ..."; my $sql; $sql = "CREATE DATABASE $dbname;"; - sqlDbAction($dsn, $sql); + if ( sqlDbAction($dsn, $sql) ) { + print "ok", "\n"; + return 1; + } else { + print "failed", "\n"; + return 0; + } } + sub dropSqlDb { my $dsn = shift; my $dbname = getDbNameByDsn($dsn); @@ -203,4 +225,4 @@ return 1 if ($bool_tablesHere); } -1; \ No newline at end of file +1;