dbi-interbase-devel Mailing List for DBD::InterBase
Status: Beta
Brought to you by:
edpratomo
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(44) |
Sep
(33) |
Oct
(36) |
Nov
(1) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(4) |
Feb
(3) |
Mar
(2) |
Apr
(1) |
May
(4) |
Jun
(15) |
Jul
(24) |
Aug
(8) |
Sep
(4) |
Oct
(5) |
Nov
(1) |
Dec
(4) |
2002 |
Jan
|
Feb
|
Mar
|
Apr
(7) |
May
(7) |
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2003 |
Jan
(1) |
Feb
|
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: luc w. <Wil...@pa...> - 2003-08-30 12:34:31
|
Hello All , i'm using the DBD::Interbase , version 0.41 module on a SuSE 8.2 (perl 5.8.0) with a interbase 6.0 database and have problems when storing/retrieving utf8 characters in a varchar field. When the utf8 string (default format of perl5.8) is stored , the normal utf8 byte sequence is stored. when this field is restrieved back , it will be encoded back into utf8. because of this , multi byte characters (>127) are double encoded . To solve this , i have to decode the string back again and mark it as utf8 before i can us is as a utf8 string. for this , i'm using the "hidden" perl functions ( someone (DBD or interbase) Whenis stor a utf8 character string , with valid utf8 charecters (> 127) and retrieve this text back , it is "double" encoded in utf8 , So my question. How can i let DBD::interbase or DBI work correctly with utf8 characters , knowing that interbase 6 doesn't know utf8 luc -- Willems Luc Email : willems.luc (at) pandora.be GnuPG public key : http://users.pandora.be/willems.luc/keys/luc.gpg We the unwilling, led by the unknowing, are doing the impossible for the ungrateful. We have done so much for so long with so little We are now qualified to do anything with nothing see http://www.perl.com/pub/a/2003/07/16/soto2003.html?page=1 |
From: Daniel R. <dan...@gm...> - 2003-03-05 18:33:23
|
hello party people ok, i can confirm that dbd-interbase 0.40 doesn't work with new DBI. i = think for the versions > 1.28, < 1.34. (1.30 is what i tested, i think 0.28 a = while ago and 1.34 changelog says it's fixed). i put a fix to the sourceforge CVS. this didn't affect activestate perl 5.8 with dbi-1.30 from activestate. if you want to go with dbi-1.30, use the current CVS: cvs -d:pserver:ano...@cv...:/cvsroot/dbi-interbase co = dbi-interbase beep -daniel |
From: Scott T. <sc...@dc...> - 2003-03-04 23:29:49
|
At 02:46 PM 3/04/03, Daniel Ritz wrote: >hmm...i tried perl5.8.0, dbi-1.30, dbd-interbase-0.40 on a linux box with >firebirdss-1.0.2.908-0. >works like a charm. no problems. perl is even built with threads... Yeah, I was quite sure it was only me. :( >now i need a bit more information: >- perl from distro or self compiled? RH7.2 came with Perl 5.6.0 with an upgrade to 5.6.1, I built 5.8.0 myself. I removed it and reverted everything back to 5.6.1. >- same for dbi DBI-1.30 from CPAN source files >- distro w/ version if these are distro packages RH7.2 >- compiler gcc-2.96-112.7.2 >- output of perl Makefile.PL perl Makefile.PL InterBase bin directory : [/opt/interbase/bin] InterBase include directory : [/opt/interbase/include] InterBase lib directory : [/opt/interbase/lib] Reading cached test configuration... Full path to your test database : [/opt/interbase/examples/employee.gdb] Username : [SYSDBA] Password : [masterkey] Checking if your kit is complete... Looks good Using DBI 1.30 installed in /usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI Writing Makefile for DBD::InterBase >- output of make # make cp lib/DBD/InterBase/GetInfo.pm blib/lib/DBD/InterBase/GetInfo.pm cp lib/Bundle/DBD/InterBase.pm blib/lib/Bundle/DBD/InterBase.pm cp InterBase.pm blib/lib/DBD/InterBase.pm cp lib/DBD/InterBase/FAQ.pm blib/lib/DBD/InterBase/FAQ.pm /usr/bin/perl -p -e "s/~DRIVER~/InterBase/g" < /usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI/Driver.xst > InterBase.xsi /usr/bin/perl -I/usr/lib/perl5/5.6.1/i386-linux -I/usr/lib/perl5/5.6.1 /usr/lib/perl5/5.6.1/ExtUtils/xsubpp -noprototypes -typemap /usr/lib/perl5/5.6.1/ExtUtils/typemap -typemap typemap InterBase.xs > InterBase.xsc && mv InterBase.xsc InterBase.c gcc -c -I"/opt/interbase/include" -I"/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI" -fno-strict-aliasing -I/usr/local/include -O2 -march=i386 -mcpu=i686 -DVERSION=\"0.40\" -DXS_VERSION=\"0.40\" -fPIC -I/usr/lib/perl5/5.6.1/i386-linux/CORE InterBase.c gcc -c -I"/opt/interbase/include" -I"/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI" -fno-strict-aliasing -I/usr/local/include -O2 -march=i386 -mcpu=i686 -DVERSION=\"0.40\" -DXS_VERSION=\"0.40\" -fPIC -I/usr/lib/perl5/5.6.1/i386-linux/CORE dbdimp.c Running Mkbootstrap for DBD::InterBase () chmod 644 InterBase.bs rm -f blib/arch/auto/DBD/InterBase/InterBase.so LD_RUN_PATH="/opt/interbase/lib:/lib" gcc -shared -L/usr/local/lib InterBase.o dbdimp.o -o blib/arch/auto/DBD/InterBase/InterBase.so -L/opt/interbase/lib -lgds -ldl chmod 755 blib/arch/auto/DBD/InterBase/InterBase.so cp InterBase.bs blib/arch/auto/DBD/InterBase/InterBase.bs chmod 644 blib/arch/auto/DBD/InterBase/InterBase.bs Manifying blib/man3/Bundle::DBD::InterBase.3pm Manifying blib/man3/DBD::InterBase.3pm Manifying blib/man3/DBD::InterBase::FAQ.3pm >looking at the message "Driver has not implemented the disconnect_all >method" there seems to something wrong with the DBI / DBI headers. That's what I thought at first too, then MySQL and PostgreSQL. Maybe it's a mess from the RPM and then redoing it from source. Now I've gone back to 5.6.1 and there are still way to many errors. I knew I should not have messed around with putting RH on that server. (at least I have a backup server:) Thanks for your time Daniel. New with 5.6.1 it says it can't load DBI.so but the file is there: # make test PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/lib/perl5/5.6.1/i386-linux -I/usr/lib/perl5/5.6.1 -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t t/00base............ok t/10dsnlist.........ok t/20createdrop......ok t/30insertfetch.....ok t/40alltypes........DBD::InterBase::db do failed: Invalid token -Dynamic SQL Error -SQL error code = -104 -Database SQL dialect 1 does not support reference to TIME datatype DBD::InterBase::db prepare failed: Undefined name -Dynamic SQL Error -SQL error code = -204 -Table unknown -BUILTIN -At line 1, column 13. Can't call method "execute" on an undefined value at t/40alltypes.t line 141. t/40alltypes........dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 2-27 Failed 26/27 tests, 3.70% okay t/40bindparam.......ok t/40blobs...........ok t/40cursoron........ok t/40cursor..........ok t/40datetime........DBD::InterBase::db do failed: Invalid token -Dynamic SQL Error -SQL error code = -104 -Database SQL dialect 1 does not support reference to TIME datatype DBD::InterBase::db prepare failed: Undefined name -Dynamic SQL Error -SQL error code = -204 -Table unknown -BUILTIN -At line 1, column 13. Can't call method "execute" on an undefined value at t/40datetime.t line 121. t/40datetime........dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 2-14 Failed 13/14 tests, 7.14% okay t/40doparam.........ok t/40listfields......ok t/40nulls...........ok t/40numrows.........ok t/41numeric.........DBD::InterBase::db do failed: The insert, update, delete, ddl or authorization statement cannot be executed because the transaction is inquiry only -Dynamic SQL Error -SQL error code = -817 -Metadata update statement is not allowed by the current database SQL dialect 1 DBD::InterBase::db prepare failed: Undefined name -Dynamic SQL Error -SQL error code = -204 -Table unknown -BUILTIN -At line 1, column 13. Can't call method "execute" on an undefined value at t/41numeric.t line 107. t/41numeric.........dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 2-30 Failed 29/30 tests, 3.33% okay t/50chopblanks......ok t/50commit..........ok t/60leaks...........FAILED before any test output arrived t/61settx...........ok t/70nestedoff.......ok t/70nestedon........ok t/ak-dbd............ok t/dbdadmin..........ok Failed Test Status Wstat Total Fail Failed List of Failed -------------------------------------------------------------------------------- t/40alltypes.t 255 65280 27 26 96.30% 2-27 t/40datetime.t 255 65280 14 13 92.86% 2-14 t/41numeric.t 255 65280 30 29 96.67% 2-30 t/60leaks.t ?? ?? % ?? Failed 4/23 test scripts, 82.61% okay. 68/392 subtests failed, 82.65% okay. make: *** [test_dynamic] Error 29 :( |
From: Daniel R. <dan...@gm...> - 2003-03-04 22:46:37
|
hmm...i tried perl5.8.0, dbi-1.30, dbd-interbase-0.40 on a linux box = with firebirdss-1.0.2.908-0. works like a charm. no problems. perl is even built with threads... now i need a bit more information: - perl from distro or self compiled? - same for dbi - distro w/ version if these are distro packages - compiler - output of perl Makefile.PL - output of make looking at the message "Driver has not implemented the disconnect_all = method" there seems to something wrong with the DBI / DBI headers. rgds, -daniel ----- Original Message -----=20 From: "Scott Taylor" <sc...@dc...> To: <dbi...@li...> Sent: Tuesday, March 04, 2003 19:15 Subject: [Dbi-interbase-devel] More DBD::Interbase install woes. > Hello, >=20 > I am running Linux 2.4.7, FirebirdSS1.02.908-0, Perl 5.8.0, DBI 1.30, = and=20 > when I attempt to install DBD::Interbase-0.40 it fails. I've searched = this=20 > list but somehow I've missed the solution, what could I be doing = wrong? >=20 > Here is my make test output: >=20 > [root@intrbase DBD-InterBase-0.40]# make test > PERL_DL_NONLAZY=3D1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"=20 > "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t > t/00base...........Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/00base...........dubious > Test returned status 2 (wstat 512, 0x200) > after all the subtests completed successfully > t/10dsnlist........Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/10dsnlist........dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/20createdrop.....Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/20createdrop.....dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/30insertfetch....Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/30insertfetch....dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/40alltypes.......DBD::InterBase::db do failed: Invalid token > -Dynamic SQL Error > -SQL error code =3D -104 > -Database SQL dialect 1 does not support reference to TIME datatype > DBD::InterBase::db prepare failed: Undefined name > -Dynamic SQL Error > -SQL error code =3D -204 > -Table unknown > -BUILTIN > -At line 1, column 13. > Can't call method "execute" on an undefined value at t/40alltypes.t = line 141. > Driver has not implemented the disconnect_all method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/40alltypes.......dubious > Test returned status 255 (wstat 65280, 0xff00) > DIED. FAILED tests 2-27 > Failed 26/27 tests, 3.70% okay > t/40bindparam......Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/40bindparam......dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/40blobs..........Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/40blobs..........dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/40cursor.........Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/40cursor.........dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/40cursoron.......Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/40cursoron.......dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/40datetime.......DBD::InterBase::db do failed: Invalid token > -Dynamic SQL Error > -SQL error code =3D -104 > -Database SQL dialect 1 does not support reference to TIME datatype > DBD::InterBase::db prepare failed: Undefined name > -Dynamic SQL Error > -SQL error code =3D -204 > -Table unknown > -BUILTIN > -At line 1, column 13. > Can't call method "execute" on an undefined value at t/40datetime.t = line 121. > Driver has not implemented the disconnect_all method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/40datetime.......dubious > Test returned status 255 (wstat 65280, 0xff00) > DIED. FAILED tests 2-14 > Failed 13/14 tests, 7.14% okay > t/40doparam........Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/40doparam........dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/40listfields.....Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/40listfields.....dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/40nulls..........Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/40nulls..........dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/40numrows........Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/40numrows........dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/41numeric........DBD::InterBase::db do failed: The insert, update,=20 > delete, ddl or authorization statement cannot > be executed because the transaction is inquiry only > -Dynamic SQL Error > -SQL error code =3D -817 > -Metadata update statement is not allowed by the current database SQL = dialect 1 > DBD::InterBase::db prepare failed: Undefined name > -Dynamic SQL Error > -SQL error code =3D -204 > -Table unknown > -BUILTIN > -At line 1, column 13. > Can't call method "execute" on an undefined value at t/41numeric.t = line 107. > Driver has not implemented the disconnect_all method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/41numeric........dubious > Test returned status 255 (wstat 65280, 0xff00) > DIED. FAILED tests 2-30 > Failed 29/30 tests, 3.33% okay > t/50chopblanks.....Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/50chopblanks.....dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/50commit.........Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/50commit.........dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/60leaks..........skipped > all skipped: no reason given > t/61settx..........Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/61settx..........dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/70nestedoff......Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/70nestedoff......dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/70nestedon.......Driver has not implemented the disconnect_all = method. at=20 > /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/70nestedon.......dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/ak-dbd...........ok 47/48Driver has not implemented the = disconnect_all=20 > method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/ak-dbd...........dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/dbdadmin.........ok 3/3Driver has not implemented the disconnect_all = > method. a > t /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 > END failed--call queue aborted. > t/dbdadmin.........dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > Failed Test Stat Wstat Total Fail Failed List of Failed > = -------------------------------------------------------------------------= ------ > t/00base.t 2 512 5 0 0.00% ?? > t/10dsnlist.t 255 65280 2 0 0.00% ?? > t/20createdrop.t 255 65280 5 0 0.00% ?? > t/30insertfetch.t 255 65280 11 0 0.00% ?? > t/40alltypes.t 255 65280 27 26 96.30% 2-27 > t/40bindparam.t 255 65280 26 0 0.00% ?? > t/40blobs.t 255 65280 12 0 0.00% ?? > t/40cursor.t 255 65280 20 0 0.00% ?? > t/40cursoron.t 255 65280 18 0 0.00% ?? > t/40datetime.t 255 65280 14 13 92.86% 2-14 > t/40doparam.t 255 65280 10 0 0.00% ?? > t/40listfields.t 255 65280 16 0 0.00% ?? > t/40nulls.t 255 65280 11 0 0.00% ?? > t/40numrows.t 255 65280 25 0 0.00% ?? > t/41numeric.t 255 65280 30 29 96.67% 2-30 > t/50chopblanks.t 255 65280 35 0 0.00% ?? > t/50commit.t 255 65280 30 0 0.00% ?? > t/61settx.t 255 65280 20 0 0.00% ?? > t/70nestedoff.t 255 65280 13 0 0.00% ?? > t/70nestedon.t 255 65280 11 0 0.00% ?? > t/ak-dbd.t 255 65280 48 0 0.00% ?? > t/dbdadmin.t 255 65280 3 0 0.00% ?? > 1 test skipped. > Failed 22/23 test scripts, 4.35% okay. 68/392 subtests failed, 82.65% = okay. > make: *** [test_dynamic] Error 2 >=20 > Sorry for the huge email. :( >=20 > Scott. >=20 >=20 >=20 > ------------------------------------------------------- > This SF.net email is sponsored by: Etnus, makers of TotalView, The = debugger=20 > for complex code. Debugging C/C++ programs can leave you feeling lost = and=20 > disoriented. TotalView can help you find your way. Available on major = UNIX=20 > and Linux platforms. Try it free. www.etnus.com > _______________________________________________ > Dbi-interbase-devel mailing list > Dbi...@li... > https://lists.sourceforge.net/lists/listinfo/dbi-interbase-devel > |
From: Scott T. <sc...@dc...> - 2003-03-04 18:15:14
|
Hello, I am running Linux 2.4.7, FirebirdSS1.02.908-0, Perl 5.8.0, DBI 1.30, and when I attempt to install DBD::Interbase-0.40 it fails. I've searched this list but somehow I've missed the solution, what could I be doing wrong? Here is my make test output: [root@intrbase DBD-InterBase-0.40]# make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00base...........Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/00base...........dubious Test returned status 2 (wstat 512, 0x200) after all the subtests completed successfully t/10dsnlist........Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/10dsnlist........dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/20createdrop.....Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/20createdrop.....dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/30insertfetch....Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/30insertfetch....dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/40alltypes.......DBD::InterBase::db do failed: Invalid token -Dynamic SQL Error -SQL error code = -104 -Database SQL dialect 1 does not support reference to TIME datatype DBD::InterBase::db prepare failed: Undefined name -Dynamic SQL Error -SQL error code = -204 -Table unknown -BUILTIN -At line 1, column 13. Can't call method "execute" on an undefined value at t/40alltypes.t line 141. Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/40alltypes.......dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 2-27 Failed 26/27 tests, 3.70% okay t/40bindparam......Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/40bindparam......dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/40blobs..........Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/40blobs..........dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/40cursor.........Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/40cursor.........dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/40cursoron.......Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/40cursoron.......dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/40datetime.......DBD::InterBase::db do failed: Invalid token -Dynamic SQL Error -SQL error code = -104 -Database SQL dialect 1 does not support reference to TIME datatype DBD::InterBase::db prepare failed: Undefined name -Dynamic SQL Error -SQL error code = -204 -Table unknown -BUILTIN -At line 1, column 13. Can't call method "execute" on an undefined value at t/40datetime.t line 121. Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/40datetime.......dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 2-14 Failed 13/14 tests, 7.14% okay t/40doparam........Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/40doparam........dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/40listfields.....Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/40listfields.....dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/40nulls..........Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/40nulls..........dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/40numrows........Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/40numrows........dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/41numeric........DBD::InterBase::db do failed: The insert, update, delete, ddl or authorization statement cannot be executed because the transaction is inquiry only -Dynamic SQL Error -SQL error code = -817 -Metadata update statement is not allowed by the current database SQL dialect 1 DBD::InterBase::db prepare failed: Undefined name -Dynamic SQL Error -SQL error code = -204 -Table unknown -BUILTIN -At line 1, column 13. Can't call method "execute" on an undefined value at t/41numeric.t line 107. Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/41numeric........dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 2-30 Failed 29/30 tests, 3.33% okay t/50chopblanks.....Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/50chopblanks.....dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/50commit.........Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/50commit.........dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/60leaks..........skipped all skipped: no reason given t/61settx..........Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/61settx..........dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/70nestedoff......Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/70nestedoff......dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/70nestedon.......Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/70nestedon.......dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/ak-dbd...........ok 47/48Driver has not implemented the disconnect_all method. at /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/ak-dbd...........dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully t/dbdadmin.........ok 3/3Driver has not implemented the disconnect_all method. a t /usr/lib/perl5/site_perl/5.8.0/i686-linux/DBI.pm line 565 END failed--call queue aborted. t/dbdadmin.........dubious Test returned status 255 (wstat 65280, 0xff00) after all the subtests completed successfully Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/00base.t 2 512 5 0 0.00% ?? t/10dsnlist.t 255 65280 2 0 0.00% ?? t/20createdrop.t 255 65280 5 0 0.00% ?? t/30insertfetch.t 255 65280 11 0 0.00% ?? t/40alltypes.t 255 65280 27 26 96.30% 2-27 t/40bindparam.t 255 65280 26 0 0.00% ?? t/40blobs.t 255 65280 12 0 0.00% ?? t/40cursor.t 255 65280 20 0 0.00% ?? t/40cursoron.t 255 65280 18 0 0.00% ?? t/40datetime.t 255 65280 14 13 92.86% 2-14 t/40doparam.t 255 65280 10 0 0.00% ?? t/40listfields.t 255 65280 16 0 0.00% ?? t/40nulls.t 255 65280 11 0 0.00% ?? t/40numrows.t 255 65280 25 0 0.00% ?? t/41numeric.t 255 65280 30 29 96.67% 2-30 t/50chopblanks.t 255 65280 35 0 0.00% ?? t/50commit.t 255 65280 30 0 0.00% ?? t/61settx.t 255 65280 20 0 0.00% ?? t/70nestedoff.t 255 65280 13 0 0.00% ?? t/70nestedon.t 255 65280 11 0 0.00% ?? t/ak-dbd.t 255 65280 48 0 0.00% ?? t/dbdadmin.t 255 65280 3 0 0.00% ?? 1 test skipped. Failed 22/23 test scripts, 4.35% okay. 68/392 subtests failed, 82.65% okay. make: *** [test_dynamic] Error 2 Sorry for the huge email. :( Scott. |
From: Dennis M. <de...@ac...> - 2003-03-02 23:26:22
|
Daniel: I realize I was not clear in stating the problem mostly because I thought everybody knew about it. The problem is not in using DBD::InterBase; it is in installing DBD::InterBase in the first place. From a message posted here on 29 August 2002 by <de...@cl...>: "DBD-Interbase-0.3 seems to fail to build under perl 5.8.0/DBD 1.3.0/Win2K - It seems to have something to do with the new perlio interface according to the build logs. Not being an expert on either Perlio internals or building DBI extensions it is a bit difficult for me to hack my way through, so I throught I'd just post the observation without a cure...." Likewise, when I try to install DBD::InterBase (0.4), I get the message "cl is not recognized as an internal or external command... " This is on Win2K ( I hasten to say that I am using Win2K, on a separate machine, only because I have to provide a Windows implementation of some stuff that "really" runs on Linux....), ActiveState Perl 5.8.0, nmake.exe; Thanks, Dennis McFall >please give some details: >- platform (OS, processor) >- version of perl (self compiled, activestate, from distro....) >- DBI version >- output of perl -V >- detailed problem description >- a script that fails (including a .sql to create the database) > >this should be enough to track the problem down. > >rgds >-daniel > > It seems clear that we can't use DBD::InterBase with Perl 5.8.0; I > > reinstalled 5.6.1 in order to be able to use it. It seems to me that it > > _might_ have to do with the multi-threading capability of 5.8.0. In any > > case, my question: Is there anybody out there who can "fix" it, or will we > > InterBase/Firebird users be forever limited to Perl 5.6.1? |
From: Dennis M. <de...@ac...> - 2003-03-02 04:20:49
|
It seems clear that we can't use DBD::InterBase with Perl 5.8.0; I reinstalled 5.6.1 in order to be able to use it. It seems to me that it _might_ have to do with the multi-threading capability of 5.8.0. In any case, my question: Is there anybody out there who can "fix" it, or will we InterBase/Firebird users be forever limited to Perl 5.6.1? I am very grateful to Ed Pratomo for having created DBD:InterBase; it is a great contribution to the open source world, and this is not intended as any criticism. Dennis McFall |
From: Surowiec, W. <Wil...@th...> - 2003-01-22 20:08:45
|
I do not think this is project problem, but rather something rotten in my environment. I've sent the following to the active state database list but in case someone here can help ... At times like these I ponder wistfully upon my father's question from years ago "Son, are you sure you don't want to be a plumber?" I've been struggling mightily with installing either of the 2 downloads of the DBD module for interbase, available from: http://sourceforge.net/projects/dbi-interbase/ Compiling from source appears difficult (I stopped after a half dozen or so "tweaks" to the build process, "borrowing" of missing header files, etc). So, sometimes, you don't have the source to _everything_. The other option was an install through the ppm, what could be simpler - except it ain't. I get two types of messages: The first type is 20 copies of: Element 'IMPLEMENTATION' must contain a 'CODEBASE' element. at C:/Perl/site/lib/PPM.pm line 1684. which does seem to be specified in the DBD_InterBase.ppd: <SOFTPKG NAME="DBD-InterBase" VERSION="0,40,0,0"> <TITLE>DBD-InterBase</TITLE> <ABSTRACT>DBD::InterBase is a DBI driver for InterBase, written using InterBase C API.</ABSTRACT> <AUTHOR>Edwin Pratomo (edp...@cp...) and Daniel Ritz (dan...@gm...)</AUTHOR> <IMPLEMENTATION> <DEPENDENCY NAME="DBI" VERSION="1,08,0,0" /> <OS NAME="MSWin32" /> <ARCHITECTURE NAME="MSWin32-x86-multi-thread" /> <CODEBASE HREF="MSWin32-x86-multi-thread/DBD-InterBase.tar.gz" /> </IMPLEMENTATION> </SOFTPKG> After the 20 copies of the above message I get: Installing package 'DBD-InterBase.ppd'... Error installing package 'DBD-InterBase.ppd': Read a PPD for 'DBD-InterBase.ppd', but it is not intended for this build of Perl (MSWin32-x86-multi-thread) but when I do a perl -v, it yields: This is perl, v5.6.1 built for MSWin32-x86-multi-thread (with 1 registered patch, see perl -V for more detail) Copyright 1987-2001, Larry Wall Binary build 633 provided by ActiveState Corp. Built 21:33:05 Jun 17 2002 A plumber's problems may be more odiferous, but at least you know what you are dealing with. Any pointers, observations, suggestions, plumber's helper - all gratefully accepted. Bill PS I've cross posted to the source forge list for this project, but very little traffic there convinced me to post here - plus reviewing the last 1.5 years of messages does not indicate the problem lies in the code, but probably in a local, environmental, blockage, hair ball, dropped brush, ... a plumbing problem. |
From: David G. <dav...@ic...> - 2002-12-03 07:03:11
|
does DBI::Interbase provide an access to isc_prepare_transaction. it would be cool if it does. i am devising some filesystem transaction mechanism and i would like to combine it with firebird transaction so the two can participate in a single, distributed transaction. -- dave |
From: Maximenko A. <al...@no...> - 2002-08-31 08:26:29
|
Hi. Is it possible to install DBD::INTERBASE under Cygwin (when IB|FB works under "native" Windows) ? |
From: Cap. G. <pi...@si...> - 2002-08-29 14:17:48
|
If someone colud help me.. I'm trying to connect with a Interbase DB that uses a RULE. How can I put it into the connect clause? I'm using pattern : $dbh =3D DBI->connect($dsn, $user, $password) thanks for now |
From: DeeOnFusijamail <de...@cl...> - 2002-08-28 22:51:10
|
DBD-Interbase-0.3 seems to fail to build under perl 5.8.0/DBD 1.3.0/Win2K - It seems to have something to do with the new perlio interface according to the build logs. Not being an expert on either Perlio internals or building DBI extensions it is a bit difficult for me to hack my way through, so I throught I'd just post the observation without a cure. Note also the largish number of warnings - many of these are also valid when compiling under 5.6.0(ActiveState build 623), but aren't seen by default since this build does not enable the -W3 warning switch of MS Visual C. Some of them are pretty grim: Use of functions without including a prototype etc. /Claus -------------------- Perl 5.8.0 config: Summary of my perl5 (revision 5 version 8 subversion 0) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cl', ccflags ='-nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES _FC RYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_ READFIX', optimize='-MD -DNDEBUG -O1', cppflags='-DWIN32' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4 alignbytes=8, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -release -libpath:"c:\app\perl580\lib\CORE" -machin e:x86' libpth=C:\app\DEVSTU~1\VC98\lib libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib sh ell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib o dbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.li b shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.l ib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib gnulibc_version='undef' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release -libpath:"c:\app\perl580\lib\ COR E" -machine:x86' --------------------- Build log: C:\app\perl580\bin\perl.exe -p -e "s/~DRIVER~/InterBase/g" < c:/app/perl580/site/lib/auto/DBI/Driver.xst > InterBase.xsi C:\app\perl580\bin\perl.exe C:\app\perl580\lib\ExtUtils/xsubpp -noprototypes -typemap C:\app\perl580\lib\ExtUtils\typemap InterBase.xs > InterBase.xsc && C:\app\perl580\bin\perl.exe -MExtUtils::Command -e mv InterBase.xsc InterBase.c cl -c -Id:\app\interbase\SDK\include -Ic:/app/perl580/site/lib/auto/DBI -nol ogo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYP T -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_REA DFIX -MD -DNDEBUG -O1 -DVERSION=\"0.30\" -DXS_VERSION=\"0.30\" "-IC:\app\perl580\lib\CORE" InterBase.c InterBase.c InterBase.xs(65) : warning C4013: 'ib_error_check' undefined; assuming extern returning int InterBase.xs(142) : warning C4013: 'dbd_db_ping' undefined; assuming extern returning int InterBase.c(920) : warning C4101: 'RETVAL' : unreferenced local variable InterBase.xs(389) : warning C4018: '<' : signed/unsigned mismatch InterBase.xs(154) : warning C4101: 'ret' : unreferenced local variable cl -c -Id:\app\interbase\SDK\include -Ic:/app/perl580/site/lib/auto/DBI -nol ogo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYP T -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_REA DFIX -MD -DNDEBUG -O1 -DVERSION=\"0.30\" -DXS_VERSION=\"0.30\" "-IC:\app\perl580\lib\CORE" dbdimp.c dbdimp.c dbdimp.c(57) : warning C4013: 'ib_error_check' undefined; assuming extern returning int dbdimp.c(183) : warning C4244: 'function' : conversion from 'long ' to 'short ', possible loss of data dbdimp.c(286) : warning C4013: 'dbd_db_login6' undefined; assuming extern returning int dbdimp.c(377) : warning C4244: '=' : conversion from 'long ' to 'unsigned short ', possible loss of data dbdimp.c(385) : warning C4244: '=' : conversion from 'long ' to 'unsigned short ', possible loss of data dbdimp.c(497) : warning C4101: 'id' : unreferenced local variable dbdimp.c(567) : warning C4101: 'status' : unreferenced local variable dbdimp.c(600) : warning C4013: 'ib_rollback_transaction' undefined; assuming extern returning int dbdimp.c(590) : warning C4101: 'status' : unreferenced local variable dbdimp.c(613) : warning C4101: 'status' : unreferenced local variable dbdimp.c(1152) : warning C4101: 'fetch' : unreferenced local variable dbdimp.c(1479) : warning C4244: 'function' : conversion from '__int64 ' to 'int ', possible loss of data dbdimp.c(1766) : warning C4018: '<' : signed/unsigned mismatch dbdimp.c(1311) : warning C4101: 'val' : unreferenced local variable dbdimp.c(1309) : warning C4101: 'val_length' : unreferenced local variable dbdimp.c(1569) : warning C4101: 'len' : unreferenced local variable dbdimp.c(2743) : error C2064: term does not evaluate to a function dbdimp.c(2743) : warning C4047: 'function' : 'struct _PerlIO ** ' differs in levels of indirection from 'char [54]' dbdimp.c(2743) : warning C4024: 'PerlIO_printf' : different types for formal and actual parameter 1 dbdimp.c(2743) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int ' dbdimp.c(2743) : warning C4024: 'PerlIO_printf' : different types for formal and actual parameter 2 dbdimp.c(2747) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. |
From: Aaryn <aaryn@Ag.arizona.edu> - 2002-05-11 02:10:27
|
Hi, I know this probably isn't a development issue, but I have repeatedly gotten no response from dbi-users and I see the same problem was reported in late April by a fellow on both the dbi-users and this list and am hoping someone that's really involved in interbase can give me some direction here. I will post the solution to dbi-users for anybody else who has the problem just as soon as I can, but in hte meantime I have a compilation problem with Solaris 8, gcc, and IB5.0. Original message follows: ---------- Forwarded message ---------- Date: Thu, 9 May 2002 16:50:35 -0700 (MST) From: Aaryn <aaryn@Ag.arizona.edu> To: dbi...@pe... Subject: DBD::Interbase 0.30 install problems Interbase users, please help me! I know there are some Interbase users out there and I'm hoping to get in contact with some because I have a problem I notice someone else had just 2 weeks ago and follow-up wasn't posted to this list.. I use Solaris 8, but this might not be OS-dependent, so I left it out of the subject (hoping for a response, here, Interbase users). This email is broken into three sections here: The first is a short description of the three dbi-users emails that relate to my problem and another fellow's problem in late April. The second is a short response to the only follow-up to either his or my email. The third is the documentation of my problem as I sent it to dbi-users yesterday under a different subject. ############## Section 1) Both dbi-users emails (A previous one from 4/22 and mine from 5/8) are at http://archive.develooper.com/dbi...@pe.../msg11363.html and http://archive.develooper.com/dbi...@pe.../msg11054.html. A short reply asking whether or not the client libraries are installed on the system was his only response (http://archive.develooper.com/dbi...@pe.../msg11058.html) and an email to the author of the 4/22 message has not been returned. ############## Section 2) I would like to add that I did not perform the Interbase install but I am sure that the client is installed. I'm not sure if the client libraries are installed or how to find out. Here are the files in my interbase include directory: landsat: /opt/interbase/include a> ls gds.f gds.h gds.hxx ibase.h interbase.a perf.h Here are the files in my interclient directory. I do not have an interclient/include. Should I? landsat: /opt/interclient a> ls CommDiag.html examples interclient-res.jar java40.jar VERSION.TXT ic_license.dat interclient-utils.jar bin interclient interclient.jar docs interclient-core.jar interserver.log ############## Section 3) Here is the email I sent to dbi-users that documents my problem (same as the first link above): Hello, I installed perl 5.6.1 and DBI-1.2.1 and have Interbase 5.0 running. Perhaps the problem is that I have Interbase 5.0, but I noticed a similar post a few weeks ago with no posted resolution. here is the problem: I have aproblem installing DBD::Interbase-0.30. ------------------------------ The output of "perl Makefile.PL CC=gcc" is this: ------------------------------ hyperion: /opt/dial/software/perl_5.6.1/DBD-InterBase-0.30 r> perl Makefile.PL CC=gcc InterBase bin directory : [/opt/interbase/bin] InterBase include directory : [/opt/interbase/include] Reading cached test configuration... Full path to your test database : [/opt/interbase/isc4.gdb] .... Checking if your kit is complete... Looks good Note (probably harmless): No library found for -lgdsmt Using DBI 1.21 installed in /opt/dial/software/perl_5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/DBI Writing Makefile for DBD::InterBase ------------------------------ The output of "make" is this: ------------------------------ cp lib/Bundle/DBD/InterBase.pm blib/lib/Bundle/DBD/InterBase.pm cp InterBase.pm blib/lib/DBD/InterBase.pm cp lib/DBD/InterBase/FAQ.pm blib/lib/DBD/InterBase/FAQ.pm /opt/dial/software/bin/perl -p -e "s/~DRIVER~/InterBase/g" < /opt/dial/software/perl_5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/DBI/Driver.xst > InterBase.xsi /opt/dial/software/bin/perl -I/opt/dial/software/perl_5.6.1/lib/5.6.1/sun4-solaris -I/opt/dial/software/perl_5.6.1/lib/5.6.1 /opt/dial/software/perl_5.6.1/lib/5.6.1/ExtUtils/xsubpp -noprototypes -typemap /opt/dial/software/perl_5.6.1/lib/5.6.1/ExtUtils/typemap InterBase.xs > InterBase.xsc && mv InterBase.xsc InterBase.c gcc -c -I/opt/interbase/include -I/opt/dial/software/perl_5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/DBI -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.30\" -DXS_VERSION=\"0.30\" -fPIC -I/opt/dial/software/perl_5.6.1/lib/5.6.1/sun4-solaris/CORE InterBase.c gcc -c -I/opt/interbase/include -I/opt/dial/software/perl_5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/DBI -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.30\" -DXS_VERSION=\"0.30\" -fPIC -I/opt/dial/software/perl_5.6.1/lib/5.6.1/sun4-solaris/CORE dbdimp.c In file included from dbdimp.c:14: dbdimp.h:30: redefinition of `DBI_SQL_CHAR' dbdimp.h:30: `DBI_SQL_CHAR' previously defined here dbdimp.h:30: `SQL_CHAR' undeclared here (not in a function) dbdimp.h:31: redefinition of `DBI_SQL_NUMERIC' dbdimp.h:31: `DBI_SQL_NUMERIC' previously defined here dbdimp.h:31: `SQL_NUMERIC' undeclared here (not in a function) dbdimp.h:32: redefinition of `DBI_SQL_DECIMAL' dbdimp.h:32: `DBI_SQL_DECIMAL' previously defined here dbdimp.h:32: `SQL_DECIMAL' undeclared here (not in a function) dbdimp.h:33: redefinition of `DBI_SQL_INTEGER' dbdimp.h:33: `DBI_SQL_INTEGER' previously defined here dbdimp.h:33: `SQL_INTEGER' undeclared here (not in a function) dbdimp.h:34: redefinition of `DBI_SQL_SMALLINT' dbdimp.h:34: `DBI_SQL_SMALLINT' previously defined here dbdimp.h:34: `SQL_SMALLINT' undeclared here (not in a function) dbdimp.h:35: redefinition of `DBI_SQL_FLOAT' dbdimp.h:35: `DBI_SQL_FLOAT' previously defined here dbdimp.h:36: redefinition of `DBI_SQL_REAL' dbdimp.h:36: `DBI_SQL_REAL' previously defined here dbdimp.h:36: `SQL_REAL' undeclared here (not in a function) dbdimp.h:37: redefinition of `DBI_SQL_DOUBLE' dbdimp.h:37: `DBI_SQL_DOUBLE' previously defined here dbdimp.h:38: redefinition of `DBI_SQL_DATE' dbdimp.h:38: `DBI_SQL_DATE' previously defined here dbdimp.h:39: redefinition of `DBI_SQL_TIME' dbdimp.h:39: `DBI_SQL_TIME' previously defined here dbdimp.h:39: `SQL_TIME' undeclared here (not in a function) dbdimp.h:40: redefinition of `DBI_SQL_TIMESTAMP' dbdimp.h:40: `DBI_SQL_TIMESTAMP' previously defined here dbdimp.h:40: `SQL_TIMESTAMP' undeclared here (not in a function) dbdimp.h:41: redefinition of `DBI_SQL_VARCHAR' dbdimp.h:41: `DBI_SQL_VARCHAR' previously defined here dbdimp.h:41: `SQL_VARCHAR' undeclared here (not in a function) dbdimp.h:42: redefinition of `DBI_SQL_TYPE_TIME' dbdimp.h:42: `DBI_SQL_TYPE_TIME' previously defined here dbdimp.h:43: redefinition of `DBI_SQL_TYPE_DATE' dbdimp.h:43: `DBI_SQL_TYPE_DATE' previously defined here dbdimp.h:44: redefinition of `DBI_SQL_ARRAY' dbdimp.h:44: `DBI_SQL_ARRAY' previously defined here dbdimp.h:45: redefinition of `DBI_SQL_BLOB' dbdimp.h:45: `DBI_SQL_BLOB' previously defined here dbdimp.h:141: redefinition of `struct imp_drh_st' dbdimp.h:147: redefinition of `struct imp_dbh_st' dbdimp.h:164: redefinition of `struct imp_sth_st' dbdimp.h:184: redefinition of `struct vary' dbdimp.h:187: redefinition of `VARY' dbdimp.h:187: `VARY' previously declared here dbdimp.c: In function `ib2sql_type': dbdimp.c:222: `SQL_FLOAT' undeclared (first use in this function) dbdimp.c:222: (Each undeclared identifier is reported only once dbdimp.c:222: for each function it appears in.) dbdimp.c:226: `SQL_DOUBLE' undeclared (first use in this function) dbdimp.c:230: `SQL_TYPE_DATE' undeclared (first use in this function) dbdimp.c:234: `SQL_TYPE_TIME' undeclared (first use in this function) dbdimp.c:238: `SQL_TIMESTAMP' undeclared (first use in this function) dbdimp.c: In function `dbd_db_login6': dbdimp.c:445: `isc_dpb_SQL_dialect' undeclared (first use in this function) dbdimp.c: In function `ib_st_prepare': dbdimp.c:1062: `SQL_TYPE_DATE' undeclared (first use in this function) dbdimp.c:1084: `SQL_TIMESTAMP' undeclared (first use in this function) dbdimp.c:1097: `SQL_TYPE_TIME' undeclared (first use in this function) dbdimp.c:1063: warning: unreachable code at beginning of switch statement dbdimp.c: In function `ib_st_fetch': dbdimp.c:1492: `SQL_FLOAT' undeclared (first use in this function) dbdimp.c:1496: `SQL_DOUBLE' undeclared (first use in this function) dbdimp.c:1562: `SQL_DATE' undeclared (first use in this function) dbdimp.c:1685: `SQL_BLOB' undeclared (first use in this function) dbdimp.c:1836: `SQL_ARRAY' undeclared (first use in this function) dbdimp.c: In function `ib_fill_isqlda': dbdimp.c:2421: `SQL_TIMESTAMP' undeclared (first use in this function) dbdimp.c:2429: `SQL_TYPE_DATE' undeclared (first use in this function) dbdimp.c:2437: `SQL_TYPE_TIME' undeclared (first use in this function) dbdimp.c:2422: warning: unreachable code at beginning of switch statement dbdimp.c:2737: `SQL_FLOAT' undeclared (first use in this function) dbdimp.c:2754: `SQL_DOUBLE' undeclared (first use in this function) dbdimp.c:2771: `SQL_DATE' undeclared (first use in this function) dbdimp.c:2783: warning: unreachable code at beginning of switch statement dbdimp.c:2845: `SQL_BLOB' undeclared (first use in this function) dbdimp.c:2856: `SQL_ARRAY' undeclared (first use in this function) make: *** [dbdimp.o] Error 1 ------------------------------ Thanks for taking the time to read this. I hope this is a simple problem. I look forward to interacting with my database with the DBI module! --Aaryn |
From: Ritz D. <dan...@gm...> - 2002-05-07 19:06:54
|
fixed in current CVS (i hope).... -daniel ----- Original Message ----- From: "Brent Wesley" <bw...@sc...> To: <dbi...@li...> Sent: Tuesday, May 07, 2002 9:30 AM Subject: [Dbi-interbase-devel] problems with procedures > Greetings all, > > Currently I am having problem with executing an internal procedure with > DBD::InterBase v.30. > When I execute a procedure to insert some records in to a database it is > not inserting them. I am able to call the procedure from something like IB > Expert and it works fine but calling it from the perl script it doesn't. I > am not getting any sql error's back and for all intesive purposes it looks > like it has worked but it hasn't. > > Here is a piece if the script that is doing the work. > > use DBI; > > $dbname = "path to DB"; > > $dbh = DBI->connect("dbi:InterBase:dbname=$dbname", "username", > "password")|| die "could not open db"; > $sth = $dbh->prepare("execute procedure InsertTraffic(?,?,?,?,?,?)") > or die $dbh->errstr; > > open IPTABLES, '/usr/local/bin/iptables -L FORWARD -v -n -x -Z |' or die > "Could not open pipe $!"; > > while (<IPTABLES>) { > $data = $_; > if ( $data =~ /FORWARD/ || $data =~ /pkts/ ) { > next; > } > @line = split /\b/, $data; > $inpackets = @line[1]; > $outpackets = 0; > $incoming = @line[3]; > $outgoing = 0; > $logdatetime = "\'NOW'"; > $ip = "\'192.168.1." . @line[25] . "\'"; > next if ($ip eq "\'192.168.1.0\'"); > $sth->execute($ip,$logdatetime,$incoming,$outgoping,$inpackets,$outpackets) > or die $dbh->errstr; > } > $dbh->disconnect(); > > Any help would be appreciated. > > TIA. > -- > Brent Wesley > Systems Programmer > Scanning Systems (Aust.) http://www.scanningsystems.com.au > PH: 07 3809 3333 FAX: 3809 3335 http://www.humbug.org.au > > > > _______________________________________________________________ > > Have big pipes? SourceForge.net is looking for download mirrors. We supply > the hardware. You get the recognition. Email Us: ban...@so... > _______________________________________________ > Dbi-interbase-devel mailing list > Dbi...@li... > https://lists.sourceforge.net/lists/listinfo/dbi-interbase-devel > |
From: Brent W. <bw...@sc...> - 2002-05-07 07:24:21
|
Greetings all, Currently I am having problem with executing an internal procedure with DBD::InterBase v.30. When I execute a procedure to insert some records in to a database it is not inserting them. I am able to call the procedure from something like IB Expert and it works fine but calling it from the perl script it doesn't. I am not getting any sql error's back and for all intesive purposes it looks like it has worked but it hasn't. Here is a piece if the script that is doing the work. use DBI; $dbname = "path to DB"; $dbh = DBI->connect("dbi:InterBase:dbname=$dbname", "username", "password")|| die "could not open db"; $sth = $dbh->prepare("execute procedure InsertTraffic(?,?,?,?,?,?)") or die $dbh->errstr; open IPTABLES, '/usr/local/bin/iptables -L FORWARD -v -n -x -Z |' or die "Could not open pipe $!"; while (<IPTABLES>) { $data = $_; if ( $data =~ /FORWARD/ || $data =~ /pkts/ ) { next; } @line = split /\b/, $data; $inpackets = @line[1]; $outpackets = 0; $incoming = @line[3]; $outgoing = 0; $logdatetime = "\'NOW'"; $ip = "\'192.168.1." . @line[25] . "\'"; next if ($ip eq "\'192.168.1.0\'"); $sth->execute($ip,$logdatetime,$incoming,$outgoping,$inpackets,$outpackets) or die $dbh->errstr; } $dbh->disconnect(); Any help would be appreciated. TIA. -- Brent Wesley Systems Programmer Scanning Systems (Aust.) http://www.scanningsystems.com.au PH: 07 3809 3333 FAX: 3809 3335 http://www.humbug.org.au |
From: Chris W. <ch...@cw...> - 2002-05-06 13:13:58
|
A new version (0.60) of SPOPS (Simple Perl Object Persistence with Security) has been released to CPAN. (Version 0.59 was released without fanfare to CPAN to fix version numbering issues kindly pointed out by merlyn.) SPOPS is a robust and powerful module that allows you to serialize objects to DBI, LDAP and GDBM datasources. You can create most objects without any code, just configuration. This release includes preliminary support for the InterBase family of relational databases (including the open-source FirebirdSQL). You can also modify the value INSERTed into a DBI datasource on object creation, which is useful for transparent datatype conversions. A number of rules and code generation behaviors previously used as examples were added to the distribution proper under SPOPS::Tool. Finally, a number of small bugs were also fixed. URLs: Download (or use CPAN): http://prdownloads.sourceforge.net/openinteract/SPOPS-0.60.tar.gz Detailed changes: http://sourceforge.net/project/shownotes.php?release_id=88236 Thanks! Chris -- Chris Winters (ch...@cw...) Building enterprise-capable snack solutions since 1988. |
From: Chris W. <ch...@cw...> - 2002-05-03 03:24:56
|
Is there an available Apache::Session driver for InterBase? I saw discussion of one on the mailing list from the middle of last year, but nothing else. I'd be happy to create one (it's pretty easy), but I'm also very lazy and would rather just use a module someone's already created, tested and used. Thanks, Chris -- Chris Winters (ch...@cw...) Building enterprise-capable snack solutions since 1988. |
From: Mark D. A. <md...@di...> - 2002-05-01 05:22:35
|
> > In summary > > Interbase keeps track of transaction context in the database handle. actually InterBase is just about the only RDBMS I know of that does not do this. It is one of the few whose C API allows for explicit manipulation of multiple, independent, concurrent transaction contexts on a single database connection. But DBI after all these years still has no standardized transaction API. Plus, no one ever writes DBD implementations from scratch :). So DBD::InterBase ended up following the common pattern. Even though the InterBase C api requires a transaction handle for both prepare and execute, a prepared statement handle should certainly be able to survive a commit (i.e. prepare and execute in different transactions), or there wouldn't be much point to a prepare. So there should be some way to make the perl code work unchanged. But the isc_* C api is so messy i long ago gave up on understanding its subtleties.... > > I believe that my rejigged test code (not tested) will solve this problem in > > this simple case, however for other situations (like nested select > > statements) the best solution is to manage your own transactions or > > investigate the new ib_softcommit driver specific option. explicit commit should take care of it, if you don't mind the extra code. ib_softcommit changes semantics so it might not be a solution. isc_commit_retaining widens transaction windows, which can result in starvation in multi-user scenarios. (i know this, because the first releases of DBD::InterBase *always* used isc_commit_retaining, with no recourse from the perl side.) > The modified script should work, but only because it avoids the problem > -- which seems in this case the best solution :-) > > AFAIK this only happens in one place, so I may see about modifying that > code. Using DBI's builtin prepare_cached() support might be easier, if you are open to changing your code. That way you needn't do explicit prepare calls at all. Since the prepare cache for a particular statement won't be set until the first time it is actually executed, you get the same call order as in your changed code. See the source to DBI.pm for more info. -mda |
From: Chris W. <ch...@cw...> - 2002-05-01 02:53:20
|
On Tue, 2002-04-30 at 16:02, Adam Clarke wrote: > Chris, I think that you are being bitten by an issue that is described in > the FAQ for the driver. See http://dbi.interbase.or.id/faq.html. In summary > Interbase keeps track of transaction context in the database handle. With > AutoCommit on (the default) the DBI behaviour is to call an implicit commit > upon certain events, one of those being a final fetch from a statement > handle. So your St1 hits it's final fetch and AutoCommit does it's thing but > unfortunately for your example (because the transaction context is pegged o > the dbh) this also commits St2 which hasn't done anything yet! Ah, this makes sense. Thanks for the lucid explanation. > I believe that my rejigged test code (not tested) will solve this problem in > this simple case, however for other situations (like nested select > statements) the best solution is to manage your own transactions or > investigate the new ib_softcommit driver specific option. The modified script should work, but only because it avoids the problem -- which seems in this case the best solution :-) AFAIK this only happens in one place, so I may see about modifying that code. Thanks much for the help. Chris -- Chris Winters (ch...@cw...) Building enterprise-capable snack solutions since 1988. |
From: Adam C. <Adam.Clarke@StrategicData.com.au> - 2002-04-30 20:07:29
|
> From: Chris Winters <ch...@cw...> > Subject: [Dbi-interbase-devel] DBD and Interbase functionality > I have all that more or less done and things work great. However, I ran > into a problem trying to run multiple statements simultaneously on a > single database handle? (Test script and error message attached.) Is > this supported with DBD::InterBase? If so, do I need to do anything > special? Chris, I think that you are being bitten by an issue that is described in the FAQ for the driver. See http://dbi.interbase.or.id/faq.html. In summary Interbase keeps track of transaction context in the database handle. With AutoCommit on (the default) the DBI behaviour is to call an implicit commit upon certain events, one of those being a final fetch from a statement handle. So your St1 hits it's final fetch and AutoCommit does it's thing but unfortunately for your example (because the transaction context is pegged o the dbh) this also commits St2 which hasn't done anything yet! I believe that my rejigged test code (not tested) will solve this problem in this simple case, however for other situations (like nested select statements) the best solution is to manage your own transactions or investigate the new ib_softcommit driver specific option. > #!/usr/bin/perl > > use strict; > use Data::Dumper qw( Dumper ); > use DBI; > > $Data::Dumper::Indent = 0; > > my $DSN = 'DBI:InterBase:dbname=3Dcwtest.gdb'; > my $USER = 'sysdba'; > my $PASS = 'password'; > my $TABLE1 = 'foo'; > my $TABLE2 = 'spops_user'; > > { > my $dbh =3D DBI->connect( $DSN, $USER, $PASS ) > || die "Cannot connect: $DBI::errstr"; > $dbh->{RaiseError} =3D 1; > my $sth =3D $dbh->prepare( "select * from $TABLE1" ); > $sth->execute; > > while ( my $row =3D $sth->fetchrow_arrayref ) { > print "St1: ", Dumper( $row ), "\n"; > } > > my $sth2 =3D $dbh->prepare( "select * from $TABLE2" ); > $sth2->execute; > > while ( my $row =3D $sth2->fetchrow_arrayref ) { > print "St2: ", Dumper( $row ), "\n"; > } > } |
From: Chris W. <ch...@cw...> - 2002-04-30 16:37:19
|
On Tue, 2002-04-30 at 11:53, Mark D. Anderson wrote: > > There seems to be one difference: you cannot get the "current" value > > from a generator. For instance, from a sequence you can do: > > > > INSERT INTO foo ( id ) VALUES ( NEXTVAL( seq ) ); > > SELECT CURRVAL( seq ); > > Yes, and no, i think: you can do that also in interbase, but with both > oracle and interbase, that approach only works if you wrap it all in one transactional > context, for example in a stored procedure body. Or I assume in the context of a declared transaction: BEGIN TRAN; insert... select currval... commit; > To read the current value of an interbase generator > SELECT GEN_ID(seq,0) from RDB$DATABASE > will get you the current value of the generator called "seq" > (last i checked interbase does not support a select statement without a "from" clause). Ah, of course! > In my own home-grown SPOPS, i work around the problem of a standards-based insert > not returning anything, by issuing one sql request to get a unique value of a generator, > and then just using that value in a later insert (in a separate transaction context). > generators are guaranteed (like sequences) to never repeat a value. > this approach has the downside of having two roundtrips, but it has the upside of working on > every rdbms. My approach also -- in almost every scenario you need two roundtrips: - Identity: Do insert, then retrieve "environment" variable (e.g., '@@identity') - Sequence A: Retrieve sequence value and use in SQL for insert - Sequence B: Do insert with SQL to insert next value automatically, then retrieve current sequence value - Auto-increment: Client library contains 'last incrment created' value after an insert so you do not need another roundtrip. > it also has the characteristic of potentially skipping some values in the sequence, but i > don't care about that. Me neither, just that they're unique. Relying on other properties of automatically generated keys is bound to get you into trouble at some point. Thanks for the information! Chris -- Chris Winters (ch...@cw...) Building enterprise-capable snack solutions since 1988. |
From: Mark D. A. <md...@di...> - 2002-04-30 15:54:01
|
> There seems to be one difference: you cannot get the "current" value > from a generator. For instance, from a sequence you can do: > > INSERT INTO foo ( id ) VALUES ( NEXTVAL( seq ) ); > SELECT CURRVAL( seq ); Yes, and no, i think: you can do that also in interbase, but with both oracle and interbase, that approach only works if you wrap it all in one transactional context, for example in a stored procedure body. To read the current value of an interbase generator SELECT GEN_ID(seq,0) from RDB$DATABASE will get you the current value of the generator called "seq" (last i checked interbase does not support a select statement without a "from" clause). In my own home-grown SPOPS, i work around the problem of a standards-based insert not returning anything, by issuing one sql request to get a unique value of a generator, and then just using that value in a later insert (in a separate transaction context). generators are guaranteed (like sequences) to never repeat a value. this approach has the downside of having two roundtrips, but it has the upside of working on every rdbms. it also has the characteristic of potentially skipping some values in the sequence, but i don't care about that. -mda |
From: Chris W. <ch...@cw...> - 2002-04-30 14:55:45
|
On Tue, 2002-04-30 at 01:08, Mark D. Anderson wrote: > depends on your interbase version and your dialect. > See http://www.ibphoenix.com/ibp_60_sql_date_fs.html > I use current_timestamp for my needs. > btw, another time related factoid you might need to know is that the > default time format is '%d/%m/%Y %H:%M:%S' This is good to know, thanks. > > how do you generate unique key values? > > interbase uses the term "generator" for what oracle calls "sequences". There seems to be one difference: you cannot get the "current" value from a generator. For instance, from a sequence you can do: INSERT INTO foo ( id ) VALUES ( NEXTVAL( seq ) ); SELECT CURRVAL( seq ); To insert the next ID into a table and get back the ID you just inserted. Using a generator, you need to first select the next value from the generator then stick it into the statement. This isn't difficult, but it would seem to make it difficult to use the trigger method to make this happen, since you have no way of getting the ID just inserted. > you aren't the first to see this; try google terms: interbase 504 "unknown cursor" > I don't see a resolution even though it was reported in year 2000. > > fyi i gave up on the DBI::InterBase driver last year (i just lurk on this list). > what i'm currently using is DBI:ODBC, calling the unixodbc driver manager, calling > the unixodbc interbase driver. > such an approach introduces an extra layer, but all the layers are more > mature than DBI::InterBase, and have more users. > all my mysterious bugs disappeared when i made the move. Also good to know. I'll probably just work around it -- IME ODBC installs on Unix machines aren't as common as using the client libraries directly. Thanks! Chris -- Chris Winters (ch...@cw...) Building enterprise-capable snack solutions since 1988. |
From: Mark D. A. <md...@di...> - 2002-04-30 05:09:26
|
> This is fairly simple, boiling down to a few SQL questions -- how do you > select the current time? depends on your interbase version and your dialect. See http://www.ibphoenix.com/ibp_60_sql_date_fs.html I use current_timestamp for my needs. btw, another time related factoid you might need to know is that the default time format is '%d/%m/%Y %H:%M:%S' > how do you generate unique key values? interbase uses the term "generator" for what oracle calls "sequences". interbase does not have autoincrement columns as some rdbms's do. in my own home-grown SPOPS :), here is the data structure i'm using to declare how to manage interbase generators: my %INTERBASE_GENERATOR_OPS = ( inc_get_clause => 'GEN_ID(%s,1)', # name inc_get => 'SELECT GEN_ID(%s,1) from RDB$DATABASE', # name get => 'SELECT GEN_ID(%s,0) from RDB$DATABASE', # name set => 'SET GENERATOR %s TO %%s', # name, val (but only sub name initially) create => ['CREATE GENERATOR %s', 'SET GENERATOR %s TO 0'], destroy => 'DELETE FROM RDB$GENERATORS WHERE RDB$GENERATORS_NAME = \'%s\'', ); > I have all that more or less done and things work great. However, I ran > into a problem trying to run multiple statements simultaneously on a > single database handle? (Test script and error message attached.) Is > this supported with DBD::InterBase? If so, do I need to do anything > special? you aren't the first to see this; try google terms: interbase 504 "unknown cursor" I don't see a resolution even though it was reported in year 2000. fyi i gave up on the DBI::InterBase driver last year (i just lurk on this list). what i'm currently using is DBI:ODBC, calling the unixodbc driver manager, calling the unixodbc interbase driver. such an approach introduces an extra layer, but all the layers are more mature than DBI::InterBase, and have more users. all my mysterious bugs disappeared when i made the move. -mda |
From: Chris W. <ch...@cw...> - 2002-04-30 03:52:04
|
I'm trying to learn just enough about InterBase and DBD::InterBase to be dangerous :-) I'm the author of SPOPS -- Simple Perl Object Persistence with Security -- and would like to create an IB driver for SPOPS. If it works fully, this also means that folks could use IB as the datasource behind the OpenInteract application server. This is fairly simple, boiling down to a few SQL questions -- how do you select the current time? how do you generate unique key values? -- and some DBD-functionality questions -- are the {TYPE} and {NAME} statement handle attributes supported? does quote() take two arguments and use them? I have all that more or less done and things work great. However, I ran into a problem trying to run multiple statements simultaneously on a single database handle? (Test script and error message attached.) Is this supported with DBD::InterBase? If so, do I need to do anything special? Thanks much, Chris -- Chris Winters (ch...@cw...) Building enterprise-capable snack solutions since 1988. |