Date sent: Mon, 14 May 2001 23:54:49 +0200
To: [EMAIL PROTECTED]
From: Nico van Leeuwen <[EMAIL PROTECTED]>
Subject: Oracle SELECTS (again)
Nico,
I have no experience with Oracle, but
...
> #!/usr/bin/perl -w
>
> use strict;
> use DBI;
>
> # Connect to the database
>
> my $dbh = DBI->connect( 'dbi:Oracle:mercury.systime',
> 'systime',
> 'systime',
> {
> RaiseError => 1,
> AutoCommit => 0
> }
> ) || die "Database connection not made: $DBI::errstr";
>
> print "connected\n";
>
> # Insert a new row
>
> $dbh->do("INSERT INTO t_user ( name, adresse, plz, land, ort, vorname )
> VALUES( 'van Leeuwen' , 'Emmi-Welter Str 22', 52064, '0049', 'Aachen',
> 'Nico' )");
Shouldn't you $dbh->commit() here before trying to get the row back ?
Or turn AutoCommit on ?
> # Get the row back
>
> my $sth = $dbh->prepare("SELECT name, adresse, plz, ort, land, vorname
> FROM t_user");
>
> $sth->execute();
>
> my( $name, $adresse, $plz, $ort, $land, $vorname );
>
> $sth->bind_columns( undef, \$name, \$adresse, \$plz, \$ort, \$land,
> \$vorname );
>
> while( $sth->fetch() ) {
>
> print "$name, $adresse, $plz, $ort, $land, $vorname\n";
> print "-------------------------------\n";
>
> }
>
>
> $sth->finish();
Unnecessary...
> $dbh->disconnect();
Interesting thing that you don't get an error here, because
mercury.systimne should be in an invalid transaction state...
>
> exit;
>
> On a clean database this script generates the following response:
>
> centriumdb:/usr/local/httpd/cgi-bin # ./testinsert.pl
> connected
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> , , , , ,
> -------------------------------
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> , , , , ,
> -------------------------------
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> Use of uninitialized value in concatenation (.) at ./testinsert.pl line 48.
> , , , , ,
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> van Leeuwen, Emmi-Welter Str 22, 52064, Aachen, 0049, Nico
> -------------------------------
> centriumdb:/usr/local/httpd/cgi-bin #
>
> when I select * from t_user in SQL plus I get more endless mumbo jumbo.
>
> but when I delete:
>
> SQL> delete from t_user;
>
> 1 row deleted.
>
> SQL>
>
> What could be going on?
>
> Hope someone can shed some light.
>
ot so sure if I could...
Bodo
[EMAIL PROTECTED]
Dr. med. Bodo Eing
Institut fuer Medizinische Mikrobiologie
Klinische Virologie
v.-Stauffenbergstr. 36
48151 Muenster
Germany
Phone: ++49 251 7793 111 Fax: ++49 251 7793-104