George Karabotsos wrote:
Hey guys,

I have the following issues with connecting to my DB using Perl.  But first
some background:

I create my DB like:
    CREATE DATABASE george_db_upp IN maindbs WITH BUFFERED LOG;
I use DBD::Informix version 1.00.PC2
Running IDS 9.3:


Thanks for the nice simple reproduction - a great help.

Succinctly, I don't know what's up - I'll have to investigate. Many times, I'd recommend an upgrade, but this isn't an area that has changed recently, so I doubt if that will help. I'm especially puzzled by the lack of message on the machine without the server.

Here's my script:
--------------------
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
my
$oDBHandle=DBI->connect('DBI:Informix:[EMAIL PROTECTED]','gkarabot','',{Ra
iseError=>1,AutoCommit=>0});

print(STDERR "FIRST COMMIT\n");
$oDBHandle->do('COMMIT WORK')||die($oDBHandle->errstr);
print(STDERR "SECOND COMMIT\n");
$oDBHandle->do('COMMIT WORK')||die($oDBHandle->errstr);
print(STDERR "PREPARE STATEMENT\n");
my $oSQLHandle=$oDBHandle->prepare('SELECT * from
asdfasdf')||die($oDBHandle->errstr);
$oDBHandle->disconnect();
------------------------
Here's the output from the server that only has the Informix client
installed:

(487)@tito/home/gkarabot/perl_tests > ./dbi_commit.pl
FIRST COMMIT
SECOND COMMIT
PREPARE STATEMENT
Use of uninitialized value in die at ./dbi_commit.pl line 15.
Died at ./dbi_commit.pl line 15.
Issuing rollback() for database handle being DESTROY'd without explicit
disconnect().


Here's the output from the server that has the Informix DB installed along with the client, dbacces, etc:

(173)@larcius/home/gkarabot/perl_tests > ./dbi_commit.pl
FIRST COMMIT
SECOND COMMIT
PREPARE STATEMENT
DBD::Informix::db prepare failed: SQL: -206: The specified table (asdfasdf)
is not in the database.
ISAM: -111: ISAM error: no record found. at ./dbi_commit.pl line 15.
DBD::Informix::db prepare failed: SQL: -206: The specified table (asdfasdf)
is not in the database.
ISAM: -111: ISAM error: no record found. at ./dbi_commit.pl line 15.
Issuing rollback() for database handle being DESTROY'd without explicit
disconnect().


Basically I have two issues, 1) Why am I not getting error "-255 Not in transaction" error from the two "COMMIT WORK" statements above?

2) Why when I run this script from tito, which has only the client
installed, I get an empty DBI->errstr value?

thank you in advance,

George




--
Jonathan Leffler ([EMAIL PROTECTED], [EMAIL PROTECTED]) #include <disclaimer.h>
Guardian of DBD::Informix v2003.04 -- http://dbi.perl.org/




Reply via email to