perl.dbi.users http://www.nntp.perl.org/group/perl.dbi.users/ ... Copyright 1998-2008 perl.org Sat, 10 May 2008 19:47:54 +0000 ask@perl.org DBI::_new_handle leak? (1 message) I&#39;m searching for memory leaks in an application. Devel::LeakTrace::Fast<br/>has pointed me at DBI::_new_handle(). I was wondering if anyone can<br/>point out that I&#39;m using bad versions, or if I&#39;m mislead by the tool<br/>(Devel::LeakTrace::Fast).<br/><br/>I searched the mailing list and found:<br/><br/> http://www.mail-archive.com/dbi-users@perl.org/msg28092.html<br/><br/>Which seems to match what I&#39;m seeing, except for the fact that<br/>I&#39;m not seeing the statement handles released after 120 calls.<br/><br/>So let me explain. I&#39;m seeing a memory leaks in a daemon that<br/>interacts with a MySQL database. I&#39;m using Devel::LeakTrace::Fast<br/>to help track down the leaks. During a 15 minutes sample it says that<br/>there where 148 &quot;leaked&quot; SVs which were created by DBI::_new_handle()<br/><br/>First, has anyone else tried using Devel::LeakTrace::Fast? Are its<br/>results reliable? Realizing that a report about leaks happening is an<br/>application that I don&#39;t provide code for is not a valid report. What<br/>is the minimum script I should use to try and provide a mechanism<br/>to reproduce?<br/><br/>Second, is the 120 handle cache size modifiable by the user?<br/><br/>Here are the versions of software involved:<br/> DBI 1.604<br/> DBD::mysql 4.006<br/> perl 5.8.8<br/> Devel::LeakTrace::Fast 0.11<br/><br/>Thank you in advance.<br/>-- <br/>James R. Leu<br/>jleu@mindspring.com<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/05/msg32853.html Fri, 09 May 2008 09:31:57 +0000 Fw: How to Retrieve Table Name from Statement Handle (5 messages) To answer you question, for an Oracle environment I would like $sth-&gt;{TABLENAME} to contain a list.<br/><br/>my $tablename = $sth-&gt;{TABLENAME} -&gt;[0] = First table <br/>$tablename $sth-&gt;{TABLENAME} -&gt;[1] = Second table <br/><br/>The $tablename value will be schema.tablename format.<br/>For example:<br/>schema.narf <br/>schema.zord <br/><br/> Joseph Lamb<br/><br/><br/>----- Forwarded Message ----<br/>From: Alexander Foken &lt;alexander@foken.de&gt;<br/>To: Lamb Joseph &lt;joseph_lamb@yahoo.com&gt;<br/>Cc: dbi-users@perl.org<br/>Sent: Wednesday, May 7, 2008 11:18:53 AM<br/>Subject: Re: How to Retrieve Table Name from Statement Handle<br/><br/>Hmmm, and what do you think $sth-&gt;{TABLENAME} should contain after <br/>executing the following SQL?<br/><br/>SELECT t1.foo,t2.bar FROM narf t1, zord t2 WHERE t1.ikes=t2.blurb<br/><br/>Alexander<br/><br/>On 07.05.2008 19:51, Lamb Joseph wrote:<br/>&gt; I am creating a simple tool that will query one table and retrieve the data. Then this tool will turn the data into insert statements.<br/>&gt;<br/>&gt; I was wondering if there was a way to retrieve the table name from the statement handle?<br/>&gt;<br/>&gt; Similar to print &quot;SQL statement contains $sth-&gt;{NUM_OF_FIELDS} columns\n&quot;;<br/>&gt;<br/>&gt; but like this<br/>&gt;<br/>&gt; print &quot;SQL statement table name is $sth-&gt;{TABLENAME} \n&quot;;<br/>&gt;<br/>&gt;<br/>&gt; Joseph Lamb<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; ____________________________________________________________________________________<br/>&gt; Be a better friend, newshound, and <br/>&gt; know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ<br/>&gt; <br/><br/><br/>-- <br/>Alexander Foken<br/>mailto:alexander@foken.de http://www.foken.de/alexander/<br/><br/><br/> ____________________________________________________________________________________<br/>Be a better friend, newshound, and <br/>know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ<br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/05/msg32847.html Wed, 07 May 2008 12:37:46 +0000 How to Retrieve Table Name from Statement Handle (3 messages) I am creating a simple tool that will query one table and retrieve the data. Then this tool will turn the data into insert statements.<br/><br/>I was wondering if there was a way to retrieve the table name from the statement handle?<br/><br/>Similar to print &quot;SQL statement contains $sth-&gt;{NUM_OF_FIELDS} columns\n&quot;;<br/><br/>but like this<br/><br/>print &quot;SQL statement table name is $sth-&gt;{TABLENAME} \n&quot;;<br/><br/><br/> Joseph Lamb<br/><br/><br/><br/> ____________________________________________________________________________________<br/>Be a better friend, newshound, and <br/>know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ<br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/05/msg32844.html Wed, 07 May 2008 10:51:13 +0000 (Fwd) Perl DBI and MySQL (1 message) ----- Forwarded message from &quot;Dorp, Ronald van (W&amp;O SO OPS NET FIA Beheer)&quot; &lt;ronald.vandorp@kpn.com&gt; -----<br/><br/>Subject: Perl DBI and MySQL<br/>Date: Tue, 6 May 2008 16:24:59 +0200<br/>From: &quot;Dorp, Ronald van (W&amp;O SO OPS NET FIA Beheer)&quot; &lt;ronald.vandorp@kpn.com&gt;<br/>To: Tim.Bunce@pobox.com<br/>X-ESAFE-STATUS: Mail allowed<br/>X-ESAFE-DETAILS: <br/><br/> Simple question.<br/><br/> When DBI.pm with mysql.pm tries to connect to a database it uses a use statement ? So replication will<br/> work ?<br/><br/> Because replication only works with the use &lt;$dbname&gt; statement.<br/><br/> Could not find anything on the net other than:<br/><br/> die &quot;_SelectDB is removed from this module; use DBI-&gt;connect instead.&quot;;<br/> }<br/> Can you confirm that DBI.pm with the Mysql driver always issues a use &lt;$dbname&gt;; ?<br/> Will this be used throughout all new versions of DBI.pm.<br/> Thanks in advance,<br/><br/> Met vriendelijke groet,<br/> Ronald van Dorp<br/> jr. Technisch Specialist<br/><br/> KPN<br/> W&amp;O SO OPS NET FIA Beheer<br/> HV4, G515<br/> Regulusweg 1<br/> 2516 AC Den Haag<br/> Telefoon: (070) 451 28 38<br/> Mobiel: 06 - 13 45 41 57<br/><br/>----- End forwarded message -----<br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/05/msg32840.html Tue, 06 May 2008 11:20:05 +0000 utf8 warning when installing DBI 1.604 (2 messages) Lo,<br/><br/>I get the following warning when installing DBI. All tests pass so I <br/>don&#39;t think there&#39;s a problem, but could someone elaborate on the <br/>warning please?<br/><br/>*** Your LANG environment variable is set to &#39;en_US.UTF-8&#39;<br/>*** This is known to cause problems for some perl installations.<br/>*** If you get test failures, please try again with LANG unset.<br/>*** Please also email dbi-dev@perl.org and include the output of &#39;perl -V&#39;<br/><br/>Thanks<br/><br/>John<br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/05/msg32838.html Tue, 06 May 2008 09:33:28 +0000 Building DBD::Oracle on XP w/ VC 2005 (5 messages) First off, I am new to the list. If there is a FAQ, feel free to point<br/>me there!<br/><br/>This morning I built DBD-Oracle-1.21 on my XP machine using Visual<br/>Studio 2005. After building, I needed to copy the redistributable files<br/>to blib/arch/auto/DBD/Oracle, and I needed to embed the manifest into<br/>Oracle.dll with the following command:<br/><br/> mt.exe -manifest Oracle.dll.manifest -outputresource:Oracle.dll;2 <br/><br/>I also needed to include my SID in ORACLE_USERID:<br/><br/> set ORACLE_USERID=user/password@tns_entry/ORCL<br/> ^^^^^<br/><br/>After all this, things worked, *except* for two tests:<br/><br/>t/26exe_array...........ok 1/14<br/>t/26exe_array...........NOK 11/14# Failed test &#39;... we should have 19<br/>tuple_status&#39;<br/># at t/26exe_array.t line 120.<br/># got: 10<br/># expected: 19<br/><br/>t/26exe_array...........NOK 14/14# Failed test &#39;... we should have 48<br/>rows&#39;<br/># at t/26exe_array.t line 146.<br/># got: 30<br/># expected: 48<br/># Looks like you failed 2 tests of 14.<br/>t/26exe_array...........dubious<br/> Test returned status 2 (wstat 512, 0x200)<br/><br/>I&#39;m curious if others have seen these problems.<br/><br/>Chris<br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/05/msg32824.html Thu, 01 May 2008 07:44:39 +0000 Pay no attention to that DBI callback behind the curtain (2 messages) I found an interesting use for the (undocumented) DBI callback mechanism recently.<br/>You might find it interesting (in lieu of documentation, for now).<br/><br/>http://blog.timbunce.org/2008/05/01/pay-no-attention-to-that-callback-behind-the-curtain/<br/><br/>Tim.<br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/05/msg32823.html Thu, 01 May 2008 03:53:29 +0000 fetching the primary key of a table (2 messages) Hi,<br/>When I use the following syntax with Oracle, I am able to retrieve the<br/>primary key. But the same syntax doesn&#39;t seem to work with MySql.<br/><br/>@primary_key = $dbh-&gt;primary_key($catalog,$schema,$table);<br/><br/>With my Oracle database, this translates to:<br/>@primary_key = $dbh-&gt;primary_key(undef,&#39;JAGDATA_TRANSFER&#39;,&#39;ORIG&#39;);<br/><br/>With my MySql database, this translates to:<br/>@primary_key = $dbh-&gt;primary_key(undef,&#39;jagdata_transfer&#39;,&#39;orig&#39;);<br/><br/>What am I doing wrong?<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32822.html Wed, 30 Apr 2008 09:00:16 +0000 DBD::InterBase build fails due to incompatibility with libfbclient (firebird 1.5 / Ubuntu 7.10 / 64 bit (!)) (1 message) Hello!<br/><br/>I am trying to compile DBD::InterBase for a 64bit server running<br/>Ubuntu 7.10 (desktop edition) by usage of CPAN.<br/>I had no troubles in building this marvelous package (talking about<br/>DBI as a whole) on 32 bit (system was also Ubuntu 7.10 / desktop).<br/><br/>My question is: is it possible to build DBI module for firebird (I am<br/>using 1.5.2, and I can not change it because of external vendor<br/>decision) on a 64 bit platform?<br/><br/>Thank you for any tips,<br/>have a nice day<br/>and look below if willing to help...<br/><br/>Pawel S.<br/><br/>CPAN LOG: (build was restarted with force as there was no build-<br/>essential and libfbclient1 packages at the very first trial).<br/><br/>cpan&gt; force install DBD::InterBase<br/>Running install for module DBD::InterBase<br/>Running make for E/ED/EDPRATOMO/DBD-InterBase-0.48.tar.gz<br/>Checksum for /root/.cpan/sources/authors/id/E/ED/EDPRATOMO/DBD-<br/>InterBase-0.48.tar.gz ok<br/>DBD-InterBase-0.48/<br/><br/>--cut--<br/><br/>Checking if your kit is complete...<br/>Looks good<br/>Using DBI 1.57 (for perl 5.008008 on x86_64-linux-gnu-thread-multi)<br/>installed in /usr/lib/perl5/auto/DBI/<br/>Writing Makefile for DBD::InterBase<br/>/usr/bin/perl -p -e &quot;s/~DRIVER~/InterBase/g&quot; /usr/lib/perl5/auto/DBI/<br/>Driver.xst &gt; InterBase.xsi<br/>cc -c -I&quot;/opt/firebird/include&quot; -I&quot;/usr/lib/perl5/auto/DBI&quot; -Wall -<br/>fno-strict-aliasing -O2 -DVERSION=\&quot;0.48\&quot; -DXS_VERSION=\&quot;0.48\&quot; -<br/>fPIC &quot;-I/usr/lib/perl/5.8/CORE&quot; dbdimp.c<br/>cp lib/DBD/InterBase/TypeInfo.pm blib/lib/DBD/InterBase/TypeInfo.pm<br/>cp InterBase.pm blib/lib/DBD/InterBase.pm<br/>cp lib/DBD/InterBase/GetInfo.pm blib/lib/DBD/InterBase/GetInfo.pm<br/>Running Mkbootstrap for DBD::InterBase ()<br/>/usr/bin/perl /usr/share/perl/5.8/ExtUtils/xsubpp -noprototypes -<br/>typemap /usr/share/perl/5.8/ExtUtils/typemap -typemap typemap<br/>InterBase.xs &gt; InterBase.xsc &amp;&amp; mv InterBase.xsc InterBase.c<br/>chmod 644 InterBase.bs<br/>cp InterBase.bs blib/arch/auto/DBD/InterBase/InterBase.bs<br/>chmod 644 blib/arch/auto/DBD/InterBase/InterBase.bs<br/>cc -c -I&quot;/opt/firebird/include&quot; -I&quot;/usr/lib/perl5/auto/DBI&quot; -Wall -<br/>fno-strict-aliasing -O2 -DVERSION=\&quot;0.48\&quot; -DXS_VERSION=\&quot;0.48\&quot; -<br/>fPIC &quot;-I/usr/lib/perl/5.8/CORE&quot; InterBase.c<br/>dbdimp.c: In function &lsquo;create_cursor_name&rsquo;:<br/>dbdimp.c:60: warning: &#39;0&#39; flag ignored with precision and &lsquo;%x&rsquo; printf<br/>format<br/>dbdimp.c:60: warning: format &lsquo;%016.16x&rsquo; expects type &lsquo;unsigned int&rsquo;,<br/>but argument 3 has type &lsquo;isc_stmt_handle&rsquo;<br/>dbdimp.c: In function &lsquo;ib_st_fetch&rsquo;:<br/>dbdimp.c:1459: warning: format &lsquo;%04d&rsquo; expects type &lsquo;int&rsquo;, but argument<br/>9 has type &lsquo;long int&rsquo;<br/>dbdimp.c:1474: warning: format &lsquo;%04d&rsquo; expects type &lsquo;int&rsquo;, but argument<br/>6 has type &lsquo;long int&rsquo;<br/>dbdimp.c: In function &lsquo;ib_fill_isqlda&rsquo;:<br/>dbdimp.c:2221: warning: format &lsquo;%d&rsquo; expects type &lsquo;int&rsquo;, but argument 3<br/>has type &lsquo;STRLEN&rsquo;<br/>dbdimp.c:2221: warning: format &lsquo;%d&rsquo; expects type &lsquo;int&rsquo;, but argument 4<br/>has type &lsquo;long unsigned int&rsquo;<br/>dbdimp.c:2275: warning: format &lsquo;%d&rsquo; expects type &lsquo;int&rsquo;, but argument 3<br/>has type &lsquo;STRLEN&rsquo;<br/>dbdimp.c:2275: warning: format &lsquo;%d&rsquo; expects type &lsquo;int&rsquo;, but argument 4<br/>has type &lsquo;long unsigned int&rsquo;<br/>rm -f blib/arch/auto/DBD/InterBase/InterBase.so<br/>LD_RUN_PATH=&quot;/opt/firebird/lib&quot; cc -shared -L/usr/local/lib<br/>InterBase.o dbdimp.o -o blib/arch/auto/DBD/InterBase/<br/>InterBase.so \<br/> -L/opt/firebird/lib -lfbclient -ldl \<br/><br/>/usr/bin/ld: skipping incompatible /opt/firebird/lib/libfbclient.so<br/>when searching for -lfbclient<br/>/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/<br/>4.1.3/../../../../lib/libfbclient.so when searching for -lfbclient<br/>/usr/bin/ld: skipping incompatible /usr/lib/../lib/libfbclient.so when<br/>searching for -lfbclient<br/>/usr/bin/ld: skipping incompatible /usr/bin/../lib/libfbclient.so when<br/>searching for -lfbclient<br/>/usr/bin/ld: skipping incompatible /usr/lib64/libfbclient.so when<br/>searching for -lfbclient<br/>/usr/bin/ld: skipping incompatible /usr/lib/libfbclient.so when<br/>searching for -lfbclient<br/>/usr/bin/ld: cannot find -lfbclient<br/>collect2: ld returned 1 exit status<br/>make: *** [blib/arch/auto/DBD/InterBase/InterBase.so] Error 1<br/> /usr/bin/make -j3 -- NOT OK<br/>Running make test<br/> Can&#39;t test without successful make<br/>Running make install<br/> make had returned bad status, install seems impossible<br/><br/>cpan&gt;<br/><br/>---cut---<br/><br/>Once again TIA,<br/>Pawel Suchanecki / XSUB<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32820.html Wed, 30 Apr 2008 02:23:13 +0000 DBD::InterBase (Firebird 1.5.4) compilation troubles on 64 bit Ubuntu 7.10 (1 message) Hello!<br/><br/> I am trying to compile DBD::InterBase with Firebird 1.5 for a 64bit<br/>(AMD) running<br/> Ubuntu 7.10 (desktop edition) by usage of CPAN (and then manually, look below).<br/><br/> And I got those errors:<br/><br/> cpan&gt; force install DBD::InterBase<br/> Running install for module DBD::InterBase<br/> Running make for E/ED/EDPRATOMO/DBD-InterBase-0.48.tar.gz<br/> Checksum for /root/.cpan/sources/authors/id/E/ED/EDPRATOMO/DBD-<br/> InterBase-0.48.tar.gz ok<br/> DBD-InterBase-0.48/<br/><br/> --cut--<br/><br/> Checking if your kit is complete...<br/> Looks good<br/> Using DBI 1.57 (for perl 5.008008 on x86_64-linux-gnu-thread-multi)<br/> installed in /usr/lib/perl5/auto/DBI/<br/> Writing Makefile for DBD::InterBase<br/> /usr/bin/perl -p -e &quot;s/~DRIVER~/InterBase/g&quot; /usr/lib/perl5/auto/DBI/<br/> Driver.xst &gt; InterBase.xsi<br/> cc -c -I&quot;/opt/firebird/include&quot; -I&quot;/usr/lib/perl5/auto/DBI&quot; -Wall -<br/> fno-strict-aliasing -O2 -DVERSION=\&quot;0.48\&quot; -DXS_VERSION=\&quot;0.48\&quot; -<br/> fPIC &quot;-I/usr/lib/perl/5.8/CORE&quot; dbdimp.c<br/> cp lib/DBD/InterBase/TypeInfo.pm blib/lib/DBD/InterBase/TypeInfo.pm<br/> cp InterBase.pm blib/lib/DBD/InterBase.pm<br/> cp lib/DBD/InterBase/GetInfo.pm blib/lib/DBD/InterBase/GetInfo.pm<br/> Running Mkbootstrap for DBD::InterBase ()<br/> /usr/bin/perl /usr/share/perl/5.8/ExtUtils/xsubpp -noprototypes -<br/> typemap /usr/share/perl/5.8/ExtUtils/typemap -typemap typemap<br/> InterBase.xs &gt; InterBase.xsc &amp;&amp; mv InterBase.xsc InterBase.c<br/> chmod 644 InterBase.bs<br/> cp InterBase.bs blib/arch/auto/DBD/InterBase/InterBase.bs<br/> chmod 644 blib/arch/auto/DBD/InterBase/InterBase.bs<br/> cc -c -I&quot;/opt/firebird/include&quot; -I&quot;/usr/lib/perl5/auto/DBI&quot; -Wall -<br/> fno-strict-aliasing -O2 -DVERSION=\&quot;0.48\&quot; -DXS_VERSION=\&quot;0.48\&quot; -<br/> fPIC &quot;-I/usr/lib/perl/5.8/CORE&quot; InterBase.c<br/> dbdimp.c: In function &#39;create_cursor_name&#39;:<br/> dbdimp.c:60: warning: &#39;0&#39; flag ignored with precision and &#39;%x&#39; printf<br/> format<br/> dbdimp.c:60: warning: format &#39;%016.16x&#39; expects type &#39;unsigned int&#39;,<br/> but argument 3 has type &#39;isc_stmt_handle&#39;<br/> dbdimp.c: In function &#39;ib_st_fetch&#39;:<br/> dbdimp.c:1459: warning: format &#39;%04d&#39; expects type &#39;int&#39;, but argument<br/> 9 has type &#39;long int&#39;<br/> dbdimp.c:1474: warning: format &#39;%04d&#39; expects type &#39;int&#39;, but argument<br/> 6 has type &#39;long int&#39;<br/> dbdimp.c: In function &#39;ib_fill_isqlda&#39;:<br/> dbdimp.c:2221: warning: format &#39;%d&#39; expects type &#39;int&#39;, but argument 3<br/> has type &#39;STRLEN&#39;<br/> dbdimp.c:2221: warning: format &#39;%d&#39; expects type &#39;int&#39;, but argument 4<br/> has type &#39;long unsigned int&#39;<br/> dbdimp.c:2275: warning: format &#39;%d&#39; expects type &#39;int&#39;, but argument 3<br/> has type &#39;STRLEN&#39;<br/> dbdimp.c:2275: warning: format &#39;%d&#39; expects type &#39;int&#39;, but argument 4<br/> has type &#39;long unsigned int&#39;<br/> rm -f blib/arch/auto/DBD/InterBase/InterBase.so<br/> LD_RUN_PATH=&quot;/opt/firebird/lib&quot; cc -shared -L/usr/local/lib<br/> InterBase.o dbdimp.o -o blib/arch/auto/DBD/InterBase/<br/> InterBase.so \<br/> -L/opt/firebird/lib -lfbclient -ldl \<br/><br/> /usr/bin/ld: skipping incompatible /opt/firebird/lib/libfbclient.so<br/> when searching for -lfbclient<br/> /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/<br/> 4.1.3/../../../../lib/libfbclient.so when searching for -lfbclient<br/> /usr/bin/ld: skipping incompatible /usr/lib/../lib/libfbclient.so when<br/> searching for -lfbclient<br/> /usr/bin/ld: skipping incompatible /usr/bin/../lib/libfbclient.so when<br/> searching for -lfbclient<br/> /usr/bin/ld: skipping incompatible /usr/lib64/libfbclient.so when<br/> searching for -lfbclient<br/> /usr/bin/ld: skipping incompatible /usr/lib/libfbclient.so when<br/> searching for -lfbclient<br/> /usr/bin/ld: cannot find -lfbclient<br/> collect2: ld returned 1 exit status<br/> make: *** [blib/arch/auto/DBD/InterBase/InterBase.so] Error 1<br/> /usr/bin/make -j3 -- NOT OK<br/> Running make test<br/> Can&#39;t test without successful make<br/> Running make install<br/> make had returned bad status, install seems impossible<br/><br/> cpan&gt;<br/><br/>--CUT--<br/><br/>As you see it complains about incompatible version of libfbclient (for 1.x).<br/>I assumed this is about libfbclient not being able to link in 64 bit env. (?)<br/><br/>[..]<br/><br/>So I installed all 32bit, multilib related packages and manually tweaked<br/><br/>THIS:<br/>--------<br/><br/>&quot;LD_RUN_PATH=&quot;/opt/firebird/lib&quot; cc -shared -L/usr/local/lib<br/> InterBase.o dbdimp.o -o blib/arch/auto/DBD/InterBase/<br/> InterBase.so -L/opt/firebird/lib -lfbclient -ldl&quot;<br/><br/>INTO THAT:<br/>-----------------<br/><br/>&quot;LD_RUN_PATH=&quot;/opt/firebird/lib&quot; ld -melf_i386 -shared<br/>-L/usr/local/lib InterBase.o dbdimp.o -o<br/>blib/arch/auto/DBD/InterBase/InterBase.so -L/opt/firebird/lib<br/>-lfbclient&quot;<br/><br/>--&gt; So it did build and I installed it, however running `a script&#39;<br/>fails to load the shared lib:<br/><br/><br/>SYSTEM--ROOT@zen:/home/ZEN-NET-DB# perl groups-list.pl<br/>install_driver(InterBase) failed: Can&#39;t load<br/>&#39;/usr/local/lib/perl/5.8.8/auto/DBD/InterBase/InterBase.so&#39; for module<br/>DBD::InterBase:<br/>/usr/local/lib/perl/5.8.8/auto/DBD/InterBase/InterBase.so: wrong ELF<br/>class: ELFCLASS32 at /usr/lib/perl/5.8/DynaLoader.pm line 225.<br/> at (eval 3) line 3<br/>Compilation failed in require at (eval 3) line 3.<br/>Perhaps a required shared library or dll isn&#39;t installed where expected<br/> at groups-list.pl line 5<br/><br/><br/>--&gt; InterBase.so is built against 32-bit libs:<br/><br/>ROOT@zen:/home/ZEN-NET-DB# ldd<br/>/usr/local/lib/perl/5.8.8/auto/DBD/InterBase/InterBase.so<br/> linux-gate.so.1 =&gt; (0xffffe000)<br/> libfbclient.so.1 =&gt; /opt/firebird/lib/libfbclient.so.1 (0xf7e91000)<br/> libstdc++.so.5 =&gt; /usr/lib/libstdc++.so.5 (0xf7dc6000)<br/> libncurses.so.5 =&gt; /lib32/libncurses.so.5 (0xf7d82000)<br/> libcrypt.so.1 =&gt; /lib32/libcrypt.so.1 (0xf7d54000)<br/> libm.so.6 =&gt; /lib32/libm.so.6 (0xf7d2f000)<br/> libc.so.6 =&gt; /lib32/libc.so.6 (0xf7be5000)<br/> libdl.so.2 =&gt; /lib32/libdl.so.2 (0xf7be1000)<br/> libpthread.so.0 =&gt; /lib32/libpthread.so.0 (0xf7bc9000)<br/> libgcc_s.so.1 =&gt; /usr/lib32/libgcc_s.so.1 (0xf7bbd000)<br/> /lib/ld-linux.so.2 (0x56555000)<br/><br/><br/>--&gt; BUT DBI.so is built againts 64-bit libs:<br/><br/>ROOT@zen:/home/ZEN-NET-DB# ldd /usr/local/lib/perl/5.8.8/auto/DBI/DBI.so<br/> libc.so.6 =&gt; /lib/libc.so.6 (0x00002b71f3e6c000)<br/> /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)<br/><br/><br/>My question is: if I build DBI against 32-bit libs will it then work<br/>all together with my the default perl distro in Ubuntu or do I have to<br/>rebuild it also? How to pass `-m32&#39; and `ld -melf_i386&#39; to respective<br/>sections of CPAN built Makefiles? How deep should I dig into<br/>rebuilding wit/for 32 bit?<br/><br/>Is my way of tackling with this problem a sane one? If not: what am I<br/>doing wrong?<br/><br/>TIA,<br/>Cheers,<br/><br/>Pawel<br/><br/>-- <br/>Registered Linux user #145057 running @ ARM / MIPS / PowerPC / x86 / x86_64<br/> main(){printf(&quot;%c%c%c%c%c%c%d%c&quot;,0x68,0x61,0x78,0x6f,0x72,0x10,0x539,0x0a);}<br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32819.html Wed, 30 Apr 2008 02:22:48 +0000 Error - DBD::Oracle / ORA-1008 problem with placeholders (4 messages) Hello all,<br/> <br/>I encouter an error with DBD::Oracle and Oracle instances 10g that I<br/>dont understand :<br/> DBD::Oracle::st execute failed: ORA-01008: not all variables bound<br/>(DBD ERROR: OCIStmtExecute)<br/><br/>This script works fine with Oracle 9i.<br/>I compiled DBD::Oracle (1.19) based on Oracle 9i (on Sun-Solaris10) -<br/>DBI 1.58<br/><br/>I tried to compile DBD::Oracle (1.21) based on Oracle 10g (on<br/>Sun-Solaris10) with the same error.<br/>I tried to use DBI_TRACE=2 or 3 but I dont find the trace usefull.<br/><br/>My tests against Oracle instances :<br/> 9i (new install) - ok (it is always ok with 9i)<br/> 10g (new install) - bad<br/> 10g (migrated from 9i) - bad<br/><br/>My tests against placeholders :<br/> If I used placeholders like &quot;:param1&quot;, it works the first time, then<br/>it will failed in general<br/><br/>My tests against the SQL query :<br/> If I comment the first column returned (the TO_CHAR(...) AS DT, it<br/>works the first time<br/> then it failed<br/><br/>So the problem seems to be with CACHE or something like that ?<br/><br/><br/>My script is :<br/>#<br/>------------------------------------------------------------------------<br/>use DBI;<br/>$dsn=&quot;dbi:Oracle:host=my_server;port=1521;sid=my_sid&quot;;<br/>my $query = &quot;<br/> SELECT<br/> TO_CHAR(TO_DATE(col1,&#39;DD/MM/YY&#39;),&#39;YYYYMMDD&#39;) AS DT,<br/> col2,col3,col4 FROM table1 WHERE SUBSTR(col1,4) = ? <br/>&quot;;<br/>$DBH = DBI-&gt;connect($dsn,&quot;toto&quot;,&quot;toto&quot;,{PrintError =&gt; 0, RaiseError =&gt;<br/>1});<br/>$STH = $DBH -&gt; prepare($extraction_query);<br/>my $month_MMAA=&quot;03/08&quot;;<br/>#$STH-&gt;bind_param(&quot;:pr1&quot;, $month_MMAA);<br/>$STH-&gt;bind_param(1, $month_MMAA);<br/>$STH-&gt;execute();<br/> DBI::dump_results($STH);<br/>$STH-&gt;finish();<br/>$DBH-&gt;disconnect();<br/>#<br/>------------------------------------------------------------------------<br/><br/>I need your help<br/><br/>Regards<br/><br/>Pascal<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32811.html Mon, 28 Apr 2008 23:54:36 +0000 (Fwd) DBI on AIX (1 message) ----- Forwarded message from J&aacute;nos &lt;janos.lobb@yale.edu&gt; -----<br/><br/>To: Tim.Bunce@pobox.com<br/>From: J&aacute;nos &lt;janos.lobb@yale.edu&gt;<br/>Subject: DBI on AIX<br/>Date: Mon, 28 Apr 2008 13:06:37 -0400<br/>X-YaleITSMailFilter: Version 1.2c (attachment(s) not renamed)<br/><br/>Tim,<br/><br/>I want to run the test bench for mysql and that requires the DBI modul I do <br/>not have on this AIX box. Unfortunatly I also do not have a C compiler.<br/><br/>I need the AIX 5.3 64-bit version of DBI compiled. I also need the <br/>DBD::mysql module compiled.<br/><br/>Any hint where I can find these ??<br/><br/>Sorry to bug you directly, but your name I could find the easiest.<br/><br/>Thanks ahead,<br/><br/>J&aacute;nos<br/><br/>P.S. This is what I got so far :)<br/><br/>cpan&gt; install DBI<br/>CPAN: Storable loaded ok<br/>CPAN: LWP::UserAgent loaded ok<br/>Fetching with LWP:<br/> ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz<br/>LWP failed with code[500] message[LWP::Protocol::MyFTP: connect: A system <br/>call received a parameter that is not valid.]<br/>Fetching with Net::FTP:<br/> ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz<br/>Issuing &quot;/usr/bin/ftp -n&quot;<br/>ftp: connect to address ::ffff:64.74.207.33: A remote host did not respond <br/>within the timeout period.<br/>Trying ::ffff:69.31.115.210...<br/>ftp: connect to address ::ffff:69.31.115.210: A remote host did not respond <br/>within the timeout period.<br/>Trying ::ffff:64.74.207.33...<br/>ftp: connect: A remote host did not respond within the timeout period.<br/>Not connected.<br/>Local directory now /.cpan/sources/authors<br/>Not connected.<br/>Not connected.<br/>Not connected.<br/>Not connected.<br/>Not connected.<br/>Not connected.<br/>Bad luck... Still failed!<br/>Can&#39;t access URL ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz.<br/><br/>Please check, if the URLs I found in your configuration file () are valid.<br/>The urllist can be edited. E.g. with &#39;o conf urllist push ftp://myurl/&#39;<br/><br/>Could not fetch authors/01mailrc.txt.gz<br/>Fetching with LWP:<br/> ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz<br/>LWP failed with code[500] message[LWP::Protocol::MyFTP: connect: A system <br/>call received a parameter that is not valid.]<br/>Fetching with Net::FTP:<br/> ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz<br/>Issuing &quot;/usr/bin/ftp -n&quot;<br/>ftp: connect to address ::ffff:209.120.136.27: A remote host did not <br/>respond within the timeout period.<br/>Trying ::ffff:199.239.233.95...<br/>ftp: connect to address ::ffff:199.239.233.95: A remote host did not <br/>respond within the timeout period.<br/>Trying ::ffff:209.120.136.27...<br/>ftp: connect: A remote host did not respond within the timeout period.<br/>Not connected.<br/>Local directory now /.cpan/sources/modules<br/>Not connected.<br/>Not connected.<br/>Not connected.<br/>Not connected.<br/>Not connected.<br/>Not connected.<br/>Bad luck... Still failed!<br/>Can&#39;t access URL <br/>ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz.<br/><br/>Please check, if the URLs I found in your configuration file () are valid.<br/>The urllist can be edited. E.g. with &#39;o conf urllist push ftp://myurl/&#39;<br/><br/>Could not fetch modules/02packages.details.txt.gz<br/>Fetching with LWP:<br/> ftp://ftp.perl.org/pub/CPAN/modules/03modlist.data.gz<br/>LWP failed with code[500] message[LWP::Protocol::MyFTP: connect: A system <br/>call received a parameter that is not valid.]<br/>Fetching with Net::FTP:<br/> ftp://ftp.perl.org/pub/CPAN/modules/03modlist.data.gz<br/>Issuing &quot;/usr/bin/ftp -n&quot;<br/><br/>----- End forwarded message -----<br/>----- Forwarded message from J&aacute;nos &lt;janos.lobb@yale.edu&gt; -----<br/><br/>From: J&aacute;nos &lt;janos.lobb@yale.edu&gt;<br/>Subject: Fwd: DBI on AIX<br/>Date: Mon, 28 Apr 2008 14:04:22 -0400<br/>To: Tim.Bunce@pobox.com<br/>X-YaleITSMailFilter: Version 1.2c (attachment(s) not renamed)<br/><br/><br/><br/>Begin forwarded message:<br/><br/>&gt; From: J&aacute;nos &lt;janos.lobb@yale.edu&gt;<br/>&gt; Date: April 28, 2008 1:06:37 PM EDT<br/>&gt; To: Tim.Bunce@pobox.com<br/>&gt; Subject: DBI on AIX<br/>&gt;<br/>&gt; Tim,<br/>&gt;<br/>&gt; I want to run the test bench for mysql and that requires the DBI modul I <br/>&gt; do not have on this AIX box. Unfortunatly I also do not have a C <br/>&gt; compiler.<br/>&gt;<br/>&gt; I need the AIX 5.3 64-bit version of DBI compiled. I also need the <br/>&gt; DBD::mysql module compiled.<br/>&gt;<br/>&gt; Any hint where I can find these ??<br/>&gt;<br/>&gt; Sorry to bug you directly, but your name I could find the easiest.<br/>&gt;<br/>&gt; Thanks ahead,<br/>&gt;<br/>&gt; J&aacute;nos<br/>&gt;<br/>&gt; P.S. This is what I got so far :)<br/>&gt;<br/>&gt; cpan&gt; install DBI<br/>&gt; CPAN: Storable loaded ok<br/>&gt; CPAN: LWP::UserAgent loaded ok<br/>&gt; Fetching with LWP:<br/>&gt; ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz<br/>&gt; LWP failed with code[500] message[LWP::Protocol::MyFTP: connect: A system <br/>&gt; call received a parameter that is not valid.]<br/>&gt; Fetching with Net::FTP:<br/>&gt; ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz<br/>&gt; Issuing &quot;/usr/bin/ftp -n&quot;<br/>&gt; ftp: connect to address ::ffff:64.74.207.33: A remote host did not respond <br/>&gt; within the timeout period.<br/>&gt; Trying ::ffff:69.31.115.210...<br/>&gt; ftp: connect to address ::ffff:69.31.115.210: A remote host did not <br/>&gt; respond within the timeout period.<br/>&gt; Trying ::ffff:64.74.207.33...<br/>&gt; ftp: connect: A remote host did not respond within the timeout period.<br/>&gt; Not connected.<br/>&gt; Local directory now /.cpan/sources/authors<br/>&gt; Not connected.<br/>&gt; Not connected.<br/>&gt; Not connected.<br/>&gt; Not connected.<br/>&gt; Not connected.<br/>&gt; Not connected.<br/>&gt; Bad luck... Still failed!<br/>&gt; Can&#39;t access URL ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz.<br/>&gt;<br/>&gt; Please check, if the URLs I found in your configuration file () are valid.<br/>&gt; The urllist can be edited. E.g. with &#39;o conf urllist push ftp://myurl/&#39;<br/>&gt;<br/>&gt; Could not fetch authors/01mailrc.txt.gz<br/>&gt; Fetching with LWP:<br/>&gt; ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz<br/>&gt; LWP failed with code[500] message[LWP::Protocol::MyFTP: connect: A system <br/>&gt; call received a parameter that is not valid.]<br/>&gt; Fetching with Net::FTP:<br/>&gt; ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz<br/>&gt; Issuing &quot;/usr/bin/ftp -n&quot;<br/>&gt; ftp: connect to address ::ffff:209.120.136.27: A remote host did not <br/>&gt; respond within the timeout period.<br/>&gt; Trying ::ffff:199.239.233.95...<br/>&gt; ftp: connect to address ::ffff:199.239.233.95: A remote host did not <br/>&gt; respond within the timeout period.<br/>&gt; Trying ::ffff:209.120.136.27...<br/>&gt; ftp: connect: A remote host did not respond within the timeout period.<br/>&gt; Not connected.<br/>&gt; Local directory now /.cpan/sources/modules<br/>&gt; Not connected.<br/>&gt; Not connected.<br/>&gt; Not connected.<br/>&gt; Not connected.<br/>&gt; Not connected.<br/>&gt; Not connected.<br/>&gt; Bad luck... Still failed!<br/>&gt; Can&#39;t access URL <br/>&gt; ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz.<br/>&gt;<br/>&gt; Please check, if the URLs I found in your configuration file () are valid.<br/>&gt; The urllist can be edited. E.g. with &#39;o conf urllist push ftp://myurl/&#39;<br/>&gt;<br/>&gt; Could not fetch modules/02packages.details.txt.gz<br/>&gt; Fetching with LWP:<br/>&gt; ftp://ftp.perl.org/pub/CPAN/modules/03modlist.data.gz<br/>&gt; LWP failed with code[500] message[LWP::Protocol::MyFTP: connect: A system <br/>&gt; call received a parameter that is not valid.]<br/>&gt; Fetching with Net::FTP:<br/>&gt; ftp://ftp.perl.org/pub/CPAN/modules/03modlist.data.gz<br/>&gt; Issuing &quot;/usr/bin/ftp -n&quot;<br/>&gt;<br/><br/><br/>Tim,<br/><br/>Here is the rest of cpan tries:<br/><br/>Trying ::ffff:199.239.233.95...<br/>ftp: connect to address ::ffff:199.239.233.95: A remote host did not <br/>respond within the timeout period.<br/>Trying ::ffff:209.120.136.27...<br/>ftp: connect: A remote host did not respond within the timeout period.<br/>Not connected.<br/>Local directory now /.cpan/sources/modules<br/>Not connected.<br/>Not connected.<br/>Not connected.<br/>Not connected.<br/>Not connected.<br/>Not connected.<br/>Bad luck... Still failed!<br/>Can&#39;t access URL ftp://ftp.perl.org/pub/CPAN/modules/03modlist.data.gz.<br/><br/>Please check, if the URLs I found in your configuration file () are valid.<br/>The urllist can be edited. E.g. with &#39;o conf urllist push ftp://myurl/&#39;<br/><br/>Could not fetch modules/03modlist.data.gz<br/>Going to write /.cpan/Metadata<br/>Warning: Cannot install DBI, don&#39;t know what it is.<br/>Try the command<br/><br/> i /DBI/<br/><br/>to find objects with matching identifiers.<br/><br/>cpan&gt;<br/><br/>----- End forwarded message -----<br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32808.html Mon, 28 Apr 2008 14:03:48 +0000 Problems with bind variables with DBD::Oracle 1.21 on Leopard (MacOSX 10.5.2) (2 messages) With Oracle having finally come out with native Intel drivers for <br/>MacOS, I tried to install these to get rid of having to use a Rosetta- <br/>ized version of perl to run Oracle things through, but kept running <br/>into a problem where sometimes bind variables would work, and <br/>sometimes I would get things like:<br/><br/>ORA-00911: invalid character (DBD ERROR: error possibly near &lt;*&gt; <br/>indicator at char 77 in &#39;<br/> SELECT<br/> System_User_ID,<br/> &#39;1&#39; Hey<br/> FROM<br/> System_User<br/> WHERE<br/> Login LIKE &lt;*&gt;? ESCAPE &#39;\&#39;<br/><br/>After more investigation, I determined that any query that contained a <br/>literal quote would die like this, and any query that did not was <br/>fine. It seems that there is an error in dbdimp.c where is_literal is <br/>defined as a bool but then used as a char. This triggers the <br/>behavior, at least GCC 4.0.1 on the Mac and possibly other GCC4 <br/>platforms, where is_literal will get the value 1, and not the value of <br/>the literal type, so that the end of the literal is never seen. The <br/>following patches this so that the behavior is correct and things work:<br/><br/>*** dbdimp.c.orig Mon Apr 28 12:08:50 2008<br/>--- dbdimp.c Mon Apr 28 12:09:07 2008<br/>***************<br/>*** 1096,1102 ****<br/> {<br/> dTHX;<br/> D_imp_dbh_from_sth;<br/>! bool in_literal = FALSE;<br/> char in_comment = &#39;\0&#39;;<br/> char *src, *start, *dest;<br/> phs_t phs_tpl;<br/>--- 1096,1102 ----<br/> {<br/> dTHX;<br/> D_imp_dbh_from_sth;<br/>! char in_literal = &#39;\0&#39;;<br/> char in_comment = &#39;\0&#39;;<br/> char *src, *start, *dest;<br/> phs_t phs_tpl;<br/><br/>-- Matt<br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32805.html Mon, 28 Apr 2008 13:15:08 +0000 aborted connections wierdness... (3 messages) Hi all,<br/><br/>I&#39;ve configured many a server in my life, but have this odd issue lately:<br/><br/>080428 14:45:47 [Warning] Aborted connection 3185826 to db: &#39;xxxx&#39; user: <br/>&#39;xxxxx&#39; host: &#39;dbserverxxx&#39; (Got an error reading communication packets)<br/><br/>This is pretty much stock mod_perl setup, even using Apache::DBI.<br/><br/>I still have two boxes giving me this problem, whereas I have been able <br/>to get rid of this message on my other servers by changing my usage of <br/>&quot;connect_cached&quot; to just &quot;connect&quot; (Apache::DBI should give me <br/>connection caching). Problem went away on those servers just by doing <br/>that, but remains on the other two, despite the switch.<br/><br/>What other settings, factors might contribute to this?<br/><br/>Thanks in advance to thoughts/opinions.<br/><br/>regards,<br/><br/>Patrick<br/><br/>-- <br/>Patrick Galbraith, Senior Programmer <br/>Grazr - Easy feed grazing and sharing<br/>http://www.grazr.com <br/><br/>Satyam Eva Jayate - Truth Alone Triumphs<br/>Mundaka Upanishad<br/><br/><br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32804.html Mon, 28 Apr 2008 11:51:37 +0000 problem with DBD::ODBC and placeholders [SEC=UNCLASSIFIED] (5 messages) Hello<br/><br/>I having trouble using placeholders (named and numerical), using DBD::ODBC <br/>connecting to Teradata. I cant easily use ordinary &#39;?&#39;, as I refer to the <br/>same placeholder several times in the SQL. For example, this is the <br/>statement I prepare (a contrived example):<br/>INSERT INTO ATABLE<br/>(COLA,COLB,COLC,COLD,COLE,COLF)<br/>VALUES<br/>(:1,:2,:3,:3,:4,:4);<br/><br/>This is the error I get when using numerical place-holders.<br/>DBD::ODBC::st execute failed: [NCR][ODBC Teradata][Teradata Database] <br/>There is a mismatch between the number of parameters specified and the <br/>number of parameters required. (SQL-07001)(DBD: st_execute/SQLExecute <br/>err=-1)<br/><br/>!!NOTE!! The above error is being returned by the database, not DBI. I am <br/>sure I am calling with the correct number of ags, which means DBI is <br/>stuffing up the call to Teradata. This is the error I would have got if I <br/>passed the wrong number of args:<br/>DBD::ODBC::st execute failed: called with 3 bind variables when 4 are <br/>needed<br/><br/>I get a different error when using named placeholders (and yes im sure the <br/>statement was prepared OK with a parm called :COLA):<br/>Can&#39;t bind unknown placeholder &#39;:COLA&#39;<br/><br/>Help please, as Im stuck using DO which is very slow!<br/><br/>**********************************************************************<br/>IMPORTANT: This e-mail is intended for the use of the addressee and may contain information that is confidential, commercially valuable or subject to legal or parliamentary privilege. If you are not the intended recipient you are notified that any review, re-transmission, disclosure, use or dissemination of this communication is strictly prohibited by several Commonwealth Acts of Parliament. If you have received this communication in error please notify the sender immediately and delete all copies of this transmission together with any attachments.<br/>**********************************************************************<br/><br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32802.html Sun, 27 Apr 2008 15:48:35 +0000 DBD-ODBC and DBI 1.21 (5 messages) I&#39;ve been forced to upgrade a server to Activestate Perl 5.10 on Win2K<br/>because of new module that does not appear to be available under<br/>earlier versions.<br/><br/>A big complication is that the machine is behind a firewall, and PPM<br/>cannot be used to install modules. I&#39;ve had to download and install<br/>about 30 modules by hand, and have resolved all issues except for this<br/>one<br/><br/>This upgrade is requiring me to reload DBI and DBD-ODBC. The issue is<br/>that the DBD-ODBC install fails because it requires DBI 1.21. Googling<br/>everything I can find over the past couple of days indicates that this<br/>is a popular problem. The problem is that I can&#39;t find an Activestate<br/>compatible version of DBI 1.21, and can&#39;t get the CPAN version to<br/>make. I&#39;ve looked in the Activestate folders of downloadable zips for<br/>all Perl releases, and 1.21 does not exist. I&#39;ve found:<br/><br/>5xx - 1.14<br/>6xx - 1.34, 1.35, 1.37, 1.48<br/>8xx - 1.35 - 1.602<br/>10xx - 1.602<br/><br/>But no 1.21. I attempted to download DBI 1.21 from CPAN and build it<br/>using NMAKE fails with the following error:<br/><br/>E:\DEV\Docs\perl_mods_5.10\DBI_1.21\ungz\DBI-1.21&gt;nmake<br/><br/>Microsoft (R) Program Maintenance Utility Version 1.50<br/>Copyright (c) Microsoft Corp 1988-94. All rights reserved.<br/><br/> C:\Perl\bin\perl.exe -MExtUtils::Command -e cp Changes blib<br/>\lib/DBI/Chan<br/>ges.pm<br/> cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -<br/>D_CONSOLE -DNO_ST<br/>RICT -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -<br/>DPERL_IMPLICIT<br/>_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -<br/>Zi -DNDEBUG<br/> -O1 -DVERSION=\&quot;1.21\&quot; -DXS_VERSION=\&quot;1.21\&quot; &quot;-IC:\Perl\lib<br/>\CORE&quot; Perl.c<br/><br/>&#39;cl&#39; is not recognized as an internal or external command,<br/>operable program or batch file.<br/>NMAKE : fatal error U1077: &#39;C:\WINNT\system32\cmd.exe&#39; : return code<br/>&#39;0x1&#39;<br/>Stop.<br/><br/><br/>What to do now? Or am I just doing something stupid?<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32799.html Fri, 25 Apr 2008 18:02:29 +0000 OCIEnvNlsCreate error with DBD::Oracle 1.21 and Oracle 10g client in Cygwin (9 messages) Hi<br/>I had posted a few days ago about facing problems installing DBD::Oracle with Oracle 10g client under Cygwin.<br/>Though those were circumvented successfully, when I try to run a simple script that calls DBI-&gt;Connect, I get <br/><br/>DBI connect(....) failed: ERROR OCIEnvNlsCreate. Check ORACLE_HOME env var, NLS settings, permissions, etc. at tmp.pl line 12<br/>Error ERROR OCIEnvNlsCreate. Check ORACLE_HOME env var, NLS settings, permissions, etc. at tmp.pl line 12.<br/><br/>ORACLE_HOME C:\oracle\product\10.2.0\client_2<br/>ORACLE_SID DEVDB<br/>TWO_TASK DEVDB<br/>NLS_LANG WE8ISO8859P15<br/><br/>I saw some earlier threads on this issue which recommended ensuring that the permissions on ORACLE_HOME/bin and ORACLE_HOME/lib are set correctly. <br/>All user-accounts on this machine have &quot;Full Control&quot; for these directories.<br/><br/>Any recommendations anyone?<br/><br/>Thanks<br/><br/><br/><br/><br/><br/><br/><br/> ____________________________________________________________________________________<br/>Be a better friend, newshound, and <br/>know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32793.html Wed, 23 Apr 2008 01:50:42 +0000 FW: Lost the capacity to get paramters (1 message) Subject: Lost the capacity to get paramters<br/><br/> <br/><br/>I installed a new machine with CENTOS 5 64 Bits and DBI 1.604, later svn,<br/>DBD-Sybase 1.08, I execute this perl script<br/><br/> <br/><br/>#!/usr/bin/perl<br/><br/>use strict;<br/><br/>use DBI;<br/><br/>my $server = &quot;&quot;;<br/><br/>my $db = &quot;minixel&quot;;<br/><br/>my $username = &quot;sa&quot;;<br/><br/>my $password = &quot;&quot;;<br/><br/> <br/><br/>my $dbh = DBI-&gt;connect(&quot;dbi:Sybase:lucidux:1433&quot;, &#39;user&#39;, &#39;password&#39;,<br/>{PrintError =&gt; 0});<br/><br/>die &quot;Unable for connect to server $DBI::errstr&quot;<br/><br/> unless $dbh;<br/><br/>$dbh-&gt;do(&quot;use $db&quot;);<br/><br/>my $query = &quot;declare \@sessionid varchar(64), \@IPAddress varchar(40) ,<br/>\@ReceivedNumber varchar(30) , \@ANI varchar(20) , \@protocol int ,<br/>\@timeout int<br/><br/>select \@sessionid = &#39;1120019620.8&#39;, \@IPAddress = &#39;&#39;, \@ReceivedNumber =<br/>&#39;17274907253&#39;, \@ANI = &#39;16463835040&#39;, \@protocol = 1, \@timeout = 0 exec<br/><br/>SoftRoutingQ \@sessionid , \@IPAddress OUTPUT, \@ReceivedNumber OUTPUT,<br/>\@ANI OUTPUT , \@protocol OUTPUT, \@timeout OUTPUT&quot;;<br/><br/>my $sth = $dbh-&gt;prepare($query);<br/><br/> $sth-&gt;execute();<br/><br/>do {<br/><br/> while(my $dat = $sth-&gt;fetch) {<br/><br/>print &quot;TYPE $sth-&gt;{syb_result_type}\n&quot;;<br/><br/>print &quot;Data @$dat[0] , @$dat[1] , @$dat[2] \n&quot;;<br/><br/> if($sth-&gt;{syb_result_type} == 4042) { # it&#39;s a PARAM result<br/><br/> print &quot;Number: $dat-&gt;[0] \n&quot;;<br/><br/> print &quot;Varpar: $dat-&gt;[1] \n&quot;;<br/><br/> }<br/><br/> }<br/><br/> } while($sth-&gt;{syb_more_results});<br/><br/>$sth=undef;<br/><br/>$dbh-&gt;disconnect;<br/><br/> <br/><br/>The only thing that I don&#39;t get back are the 4042 type results (parameter<br/>values). What is happening? Is it DBD or DBI or Perl? What are the steps to<br/>troubleshoot this? I can test the same script from another machine with<br/>identical software 64 Bits and it works. What can be different in a machine<br/>to crate this issue?? I even yum-erased perl* and reinstalled perl, to no<br/>avail.<br/><br/>Thanks in advance<br/><br/>Philip Orleans<br/><br/> <br/><br/> <br/><br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32786.html Sun, 20 Apr 2008 14:53:38 +0000 Problem using column_info method and mysql (2 messages) Hello,<br/><br/>I try to fetch column information from a mysql database, but I got the <br/>following error :<br/><br/>DBD::mysql::db column_info failed: Incorrect database name &#39;&#39; at <br/>./indexes.pl line 17.<br/><br/>Here is the code I use :<br/><br/>#!/usr/bin/perl<br/><br/>use warnings;<br/>use DBI;<br/>use strict;<br/><br/>my $dsn=&#39;DBI:mysql:xxx:xxx&#39;;<br/>my $dbh= DBI-&gt;connect($dsn,&quot;xxx&quot;,&quot;xxx&quot;) or die &quot;Unable to connect to <br/>database ($DBI::errstr)&quot;;<br/><br/>my $sth=$dbh-&gt;table_info(&#39;&#39;,&#39;&#39;,&#39;%&#39;,&#39;&#39;);<br/><br/>while (my @row = $sth-&gt;fetchrow_array) {<br/> my $sth2=$dbh-&gt;column_info(&#39;&#39;,$row[1],$row[2],&#39;%&#39;);<br/> while (my @row2 = $sth2-&gt;fetchrow_array) {<br/> print &quot;@row2&quot;;<br/> }<br/>}<br/><br/>I try several things on the column_info(), nothing worked, and I found <br/>nothing on the mailing list.<br/><br/>What do I make wrong ?<br/><br/>I use mysql 5.0.45-1ubuntu3.3 and libdbi-perl 1.57-1 both in the ubuntu <br/>repositories.<br/><br/>Thanks in advance<br/><br/>Best regards<br/><br/>Denis Sacchet<br/><br/>-- <br/>Denis Sacchet aka. Ouba (&quot;`-/&quot;)_.-&#39;&quot;``-._<br/> . . `; -._ )-;-,_`)<br/>&quot;Computers are like air conditionners (v_,)&#39; _ )`-.\ ``-&#39;<br/>They stop working properly when you _.- _..-_/ / ((.&#39;<br/>open Windows !!!&quot; ((,.-&#39; ((,/<br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32783.html Fri, 18 Apr 2008 16:25:36 +0000 DBD::Oracle and Support for Oracle 8 and 9 clients (8 messages) I just want to get a general feeling of the community on weather the next<br/>version of DBD::Oracle (1.22) should drop support for the<br/><br/>Oracle 8 and<br/>Oracle 9 clients<br/><br/>I was just reviewing the code today and there are a large number of little<br/>fixes here and there to make these two clients work with later versions of<br/>DBD::Oracle.<br/><br/>With the upcoming demise of Oracle support of 9i we will see a good number<br/>of already deprecated functions removed from later OCI (12 maybe?)<br/>releases.<br/><br/>So I was thinking of cleaning up the code so that the next version 1.22<br/>only supports 9.6 and later clients?<br/><br/>The second option is to make version 1.22 the last version that support<br/>clients less that 9.6 (actually I think some of the early versions of the<br/>8 client will die with 1.21 so it would be more of a bug fix in this case)<br/><br/>Speak up now or hold your peace.<br/><br/>Basically what I would like to know who uses what clients.<br/><br/><br/><br/><br/><br/><br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32778.html Thu, 17 Apr 2008 18:43:35 +0000 Follow up to earlier thread about DBD::Perl installation (2 messages) Hi<br/>I got the OCI Libraries installed and got the make file to getgenerated without any issues. Now I am encountering the below errortrying to run the makefile<br/>$ make<br/>gcc -c -IC:/oracle/product/9.2.0/client_2/oci/include-IC:/oracle/product/9.2.0/client_2/rdbms/demo-I/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI -DPERL_USE_SAFE_PUTENV-fno-strict-aliasing -pipe -Wdeclaration-after-statement -DUSEIMPORTLIB-O3 -DVERSION=\&quot;1.21\&quot; -DXS_VERSION=\&quot;1.21\&quot; &quot;-I/usr/lib/perl5/5.8/cygwin/CORE&quot; -Wall -Wno-comment -DUTF8_SUPPORT-DNEW_OCI_INIT -DORA_OCI_VERSION=\&quot;9.2.0.1\&quot; Oracle.c<br/>In file included from Oracle.xs:1:<br/>Oracle.h:114: error: conflicting types for &#39;OCIXMLTypeCreateFromSrc&#39;<br/>Oracle.h:114: note: an argument type that has a default promotion can&#39;t match an empty parameter name list declaration<br/>C:/oracle/product/9.2.0/client_2/oci/include/ociap.h:10038: error: previous declaration of &#39;OCIXMLTypeCreateFromSrc&#39; was here<br/>Oracle.h:114: error: conflicting types for &#39;OCIXMLTypeCreateFromSrc&#39;<br/>Oracle.h:114: note: an argument type that has a default promotion can&#39;t match an empty parameter name list declaration<br/>C:/oracle/product/9.2.0/client_2/oci/include/ociap.h:10038: error: previous declaration of &#39;OCIXMLTypeCreateFromSrc&#39; was here<br/>make: *** [Oracle.o] Error 1<br/><br/>Has anyone seen this error before?<br/>I scrubbed the system clean of any Oracle Client installation and reinstalled the 9i client in totality.<br/><br/>Thanks<br/>Dunston<br/><br/><br/><br/> ____________________________________________________________________________________<br/>Be a better friend, newshound, and <br/>know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32776.html Thu, 17 Apr 2008 12:10:32 +0000 Trouble installing DBD::Oracle on Cygwin (1 message) Hi<br/>I am having trouble installing DBD::Oracle on Cygwin <br/>Steps followed :<br/> Download from CPAN <br/>tar &ndash;zxvf DBD-Oracle-1.20.tar.gz <br/>cd DBD-Oracle-1.20 <br/>make realclean <br/>perl Makefile.pl <br/>make : *** [ Oracle.o ] Error 1 ; output attached (make_results.txt) <br/>perl &ndash; V (attached : perl_V.out) <br/>make realclean <br/>perl Makefile.pl -g <br/>make (Same error as above in Step 6) ) ; <br/>output attached (make_results_debugmode.txt) <br/>Oracle 10g Client at C:\oracle\product\10.2.0\client_2 <br/>ORACLE_HOME set to above <br/>SQLPLUS set to &ldquo;C:\oracle\product\10.2.0\client_2\bin\sqllplus&rdquo; and <br/>am able to connect to all databases in C:\oracle\product\10.2.0\client_2\network\ADMIN\tnsnames.ora from cygwin bash shell <br/>Cygwin Installation : A complete installation from latest build from Cygwin.com on April 10th 2008 <br/>DBI is installed, but attempting to run code that uses DBD::Oracle throws below error install_driver(Oracle) failed: Can&#39;t locate DBD/Oracle..pm in @INC (@INC contains: %PERL5LIB%;C \Documents and Settings\dunston\My Documents\scripts\parse;C \Program Files\Mozilla Firefox\tpsf;C \Documents and Settings\dunston\My Documents\scripts\parse;C \Program Files\Mozilla Firefox\tpsf /usr/lib/perl5/5.8/cygwin /usr/lib/perl5/5.8 /usr/lib/perl5/site_perl/5.8/cygwin /usr/lib/perl5/site_perl/5.8 /usr/lib/perl5/site_perl/5.8 /usr/lib/perl5/vendor_perl/5.8/cygwin /usr/lib/perl5/vendor_perl/5..8 /usr/lib/perl5/vendor_perl/5.8 .) at (eval 3) line 3. <br/><br/>I have tried reinstalling the Oracle client on Windows and find that despite repeated re-installs, the &quot;dll files&quot; are present, but there are no oci.h files being installed.<br/><br/>Would appreciate your input on installing this library in Cygwin <br/> Thanks<br/><br/><br/> <br/>------<br/>gcc -g -c -IC:/oracle/product/10.2.0/client_2/oci/include -IC:/oracle/product/10.2.0/client_2/rdbms/demo -I/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI -g -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -Wdeclaration-after-statement -DUSEIMPORTLIB -DVERSION=\&quot;1.20\&quot; -DXS_VERSION=\&quot;1.20\&quot; &quot;-I/usr/lib/perl5/5.8/cygwin/CORE&quot; -Wall -Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\&quot;9.2.0.1\&quot; Oracle.c<br/>In file included from Oracle.xs:1:<br/>Oracle.h:37:17: oci.h: No such file or directory<br/>Oracle.h:39:20: ocidfn.h: No such file or directory<br/>Oracle.h:40:18: orid.h: No such file or directory<br/>Oracle.h:41:17: ori.h: No such file or directory<br/>In file included from Oracle..h:53,<br/> from Oracle.xs:1:<br/>dbdimp.h:15: error: parse error before &quot;OCIEnv&quot;<br/>dbdimp.h:15: warning: no semicolon at end of struct or union<br/>dbdimp.h:22: error: parse error before &#39;}&#39; token<br/>dbdimp.h:36: error: parse error before &quot;OCIEnv&quot;<br/>dbdimp.h:36: warning: no semicolon at end of struct or union<br/>dbdimp.h:37: warning: type defaults to `int&#39; in declaration of `errhp&#39;<br/>dbdimp.h:37: warning: data definition has no type or storage class<br/>dbdimp.h:38: error: parse error before &#39;*&#39; token<br/>dbdimp.h:38: warning: type defaults to `int&#39; in declaration of `srvhp&#39;<br/>dbdimp.h:38: warning: data definition has no type or storage class<br/>dbdimp.h:39: error: parse error before &#39;*&#39; token<br/>dbdimp.h:39: warning: type defaults to `int&#39; in declaration of `svchp&#39;<br/>dbdimp.h:39: warning: data definition has no type or storage class<br/>dbdimp.h:40: error: parse error before &#39;*&#39; token<br/>dbdimp.h:40: warning: type defaults to `int&#39; in declaration of `authp&#39;<br/>dbdimp.h:40: warning: data definition has no type or storage class<br/>dbdimp.h:49: error: parse error before &#39;}&#39; token<br/>dbdimp.h:64: error: parse error before &quot;OCIEnv&quot;<br/>dbdimp.h:64: warning: no semicolon at end of struct or union<br/>dbdimp.h:65: warning: type defaults to `int&#39; in declaration of `errhp&#39;<br/>dbdimp.h:65: warning: data definition has no type or storage class<br/>dbdimp.h:66: error: parse error before &#39;*&#39; token<br/>dbdimp.h:66: warning: type defaults to `int&#39; in declaration of `srvhp&#39;<br/>dbdimp.h:66: warning: data definition has no type or storage class<br/>dbdimp.h:67: error: parse error before &#39;*&#39; token<br/>dbdimp.h:67: warning: type defaults to `int&#39; in declaration of `svchp&#39;<br/>dbdimp.h:67: warning: data definition has no type or storage class<br/>dbdimp.h:68: error: parse error before &#39;*&#39; token<br/>dbdimp.h:68: warning: type defaults to `int&#39; in declaration of `stmhp&#39;<br/>dbdimp.h:68: warning: data definition has no type or storage class<br/>dbdimp.h:69: error: parse error before &#39;*&#39; token<br/>dbdimp.h:69: warning: type defaults to `int&#39; in declaration of `dschp&#39;<br/>dbdimp.h:69: warning: data definition has no type or storage class<br/>dbdimp.h:102: error: parse error before &#39;}&#39; token<br/>dbdimp.h:121: error: parse error before &quot;OCIParam&quot;<br/>dbdimp.h:121: warning: no semicolon at end of struct or union<br/>dbdimp.h:122: warning: type defaults to `int&#39; in declaration of `parmap&#39;<br/>dbdimp.h:122: warning: data definition has no type or storage class<br/>dbdimp.h:123: error: parse error before &#39;*&#39; token<br/>dbdimp.h:123: warning: type defaults to `int&#39; in declaration of `tdo&#39;<br/>dbdimp.h:123: warning: data definition has no type or storage class<br/>dbdimp.h:124: error: parse error before &quot;typecode&quot;<br/>dbdimp.h:124: warning: type defaults to `int&#39; in declaration of `typecode&#39;<br/>dbdimp.h:124: warning: data definition has no type or storage class<br/>dbdimp.h:125: error: parse error before &quot;col_typecode&quot;<br/>dbdimp.h:125: warning: type defaults to `int&#39; in declaration of `col_typecode&#39;<br/>dbdimp.h:125: warning: data definition has no type or storage class<br/>dbdimp.h:126: error: parse error before &quot;element_typecode&quot;<br/>dbdimp.h:126: warning: type defaults to `int&#39; in declaration of `element_typecode&#39;<br/>dbdimp.h:126: warning: data definition has no type or storage class<br/>dbdimp.h:127: error: parse error before &#39;*&#39; token<br/>dbdimp.h:127: warning: type defaults to `int&#39; in declaration of `obj_ref&#39;<br/>dbdimp.h:127: warning: data definition has no type or storage class<br/>dbdimp.h:128: error: parse error before &#39;*&#39; token<br/>dbdimp.h:128: warning: type defaults to `int&#39; in declaration of `obj_ind&#39;<br/>dbdimp.h:128: warning: data definition has no type or storage class<br/>dbdimp.h:129: error: parse error before &#39;*&#39; token<br/>dbdimp.h:129: warning: type defaults to `int&#39; in declaration of `obj_value&#39;<br/>dbdimp.h:129: warning: data definition has no type or storage class<br/>dbdimp.h:130: error: parse error before &#39;*&#39; token<br/>dbdimp.h:130: warning: type defaults to `int&#39; in declaration of `obj_type&#39;<br/>dbdimp.h:130: warning: data definition has no type or storage class<br/>dbdimp.h:134: error: parse error before &#39;}&#39; token<br/>dbdimp.h:141: error: parse error before &quot;OCIParam&quot;<br/>dbdimp.h:141: warning: no semicolon at end of struct or union<br/>dbdimp.h:142: warning: type defaults to `int&#39; in declaration of `defnp&#39;<br/>dbdimp.h:142: warning: data definition has no type or storage class<br/>dbdimp.h:170: error: parse error before &#39;}&#39; token<br/>dbdimp.h:192: error: parse error before &quot;OCIBind&quot;<br/>dbdimp.h:192: warning: no semicolon at end of struct or union<br/>dbdimp.h:209: error: parse error before &#39;*&#39; token<br/>dbdimp.h:209: warning: type defaults to `int&#39; in declaration of `array_indicators&#39;<br/>dbdimp.h:209: warning: data definition has no type or storage class<br/>dbdimp.h:217: error: conflicting types for &#39;name&#39;<br/>dbdimp.h:152: error: previous declaration of &#39;name&#39; was here<br/>dbdimp.h:218: error: parse error before &#39;}&#39; token<br/>dbdimp.h:247: error: parse error before &quot;OCILobLocator&quot;<br/>dbdimp.h:260: error: parse error before &quot;OCIError&quot;<br/>dbdimp.h:287: error: parse error before &quot;OCIBind&quot;<br/>dbdimp.h:289: error: parse error before &quot;OCIBind&quot;<br/>In file included from Oracle.c:111:<br/>/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/Driver_xst.h: In function `dbdxst_bind_params&#39;:<br/>/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/Driver_xst.h:60: error: dereferencing pointer to incomplete type<br/>/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/Driver_xst.h:61: error: dereferencing pointer to incomplete type<br/>/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/Driver_xst.h:65: error: dereferencing pointer to incomplete type<br/>/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/Driver_xst.h:66: error: dereferencing pointer to incomplete type<br/>/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/Driver_xst.h:67: error: dereferencing pointer to incomplete type<br/>/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/Driver_xst.h: In function `dbdxst_fetchall_arrayref&#39;:<br/>/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/Driver_xst.h:93: error: dereferencing pointer to incomplete type<br/>/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/Driver_xst.h:94: error: dereferencing pointer to incomplete type<br/>/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/Driver_xst.h:101: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__db_selectall_arrayref&#39;:<br/>Oracle.xsi:140: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__db_selectrow_arrayref&#39;:<br/>Oracle.xsi:180: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__db_commit&#39;:<br/>Oracle.xsi:259: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:259: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__db_rollback&#39;:<br/>Oracle.xsi:269: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:269: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__db_disconnect&#39;:<br/>Oracle.xsi:279: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:284: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:284: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:286: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:288: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:292: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:292: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:292: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__db_STORE&#39;:<br/>Oracle.xsi:306: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__db_FETCH&#39;:<br/>Oracle.xsi:318: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__db_DESTROY&#39;:<br/>Oracle.xsi:329: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:331: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:331: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:332: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:337: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:338: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:338: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:338: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:339: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:340: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:342: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:343: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:358: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:359: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:360: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:366: error: dereferencing pointer to incomplete type<br/>Oracle..xsi:366: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:366: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__st_execute&#39;:<br/>Oracle.xsi:570: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:571: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__st_finish&#39;:<br/>Oracle..xsi:653: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:654: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:658: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:661: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:661: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:661: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__st_STORE&#39;:<br/>Oracle.xsi:701: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__st_FETCH_attrib&#39;:<br/>Oracle.xsi:718: error: dereferencing pointer to incomplete type<br/>Oracle.xsi: In function `XS_DBD__Oracle__st_DESTROY&#39;:<br/>Oracle.xsi:729: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:731: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:731: error: dereferencing pointer to incomplete type<br/>Oracle..xsi:732: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:737: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:738: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:738: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:738: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:739: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:740: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:742: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:743: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:744: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:752: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:752: error: dereferencing pointer to incomplete type<br/>Oracle.xsi:752: error: dereferencing pointer to incomplete type<br/>Oracle.xs: In function `XS_DBD__Oracle__st_ora_fetch&#39;:<br/>Oracle.xs:90: error: dereferencing pointer to incomplete type<br/>Oracle.xs:90: error: dereferencing pointer to incomplete type<br/>Oracle.xs:90: error: dereferencing pointer to incomplete type<br/>Oracle.xs:93: error: dereferencing pointer to incomplete type<br/>Oracle.xs:93: error: dereferencing pointer to incomplete type<br/>Oracle.xs:93: error: dereferencing pointer to incomplete type<br/>Oracle.xs:93: warning: left-hand operand of comma expression has no effect<br/>Oracle.xs:93: error: dereferencing pointer to incomplete type<br/>Oracle.xs:93: error: dereferencing pointer to incomplete type<br/>Oracle.xs:93: error: dereferencing pointer to incomplete type<br/>Oracle.xs:93: warning: left-hand operand of comma expression has no effect<br/>Oracle.xs:93: error: dereferencing pointer to incomplete type<br/>Oracle.xs:93: error: dereferencing pointer to incomplete type<br/>Oracle.xs:93: error: dereferencing pointer to incomplete type<br/>Oracle.xs:93: warning: left-hand operand of comma expression has no effect<br/>Oracle.xs:97: error: dereferencing pointer to incomplete type<br/>Oracle.xs:99: error: dereferencing pointer to incomplete type<br/>Oracle.xs:118: error: dereferencing pointer to incomplete type<br/>Oracle.xs:118: error: dereferencing pointer to incomplete type<br/>Oracle..xs:118: error: dereferencing pointer to incomplete type<br/>Oracle.xs:118: error: dereferencing pointer to incomplete type<br/>Oracle.xs:118: error: dereferencing pointer to incomplete type<br/>Oracle.xs:118: error: dereferencing pointer to incomplete type<br/>Oracle.xs:118: error: dereferencing pointer to incomplete type<br/>Oracle.xs:118: error: dereferencing pointer to incomplete type<br/>Oracle.xs:120: error: dereferencing pointer to incomplete type<br/>Oracle.xs:120: error: dereferencing pointer to incomplete type<br/>Oracle.xs: In function `XS_DBD__Oracle__st_ora_execute_array&#39;:<br/>Oracle.xs:135: error: dereferencing pointer to incomplete type<br/>Oracle.xs:136: error: dereferencing pointer to incomplete type<br/>Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_write&#39;:<br/>Oracle.c:1329: error: `OCILobLocator&#39; undeclared (first use in this function)<br/>Oracle.c:1329: error: (Each undeclared identifier is reported only once<br/>Oracle.c:1329: error: for each function it appears in.)<br/>Oracle.c:1329: error: `locator&#39; undeclared (first use in this function)<br/>Oracle.c:1330: warning: ISO C90 forbids mixed declarations and code<br/>Oracle.c:1344: error: parse error before &#39;)&#39; token<br/>Oracle.c:1343: warning: unused variable `tmp&#39;<br/>Oracle.xs:184: error: `SQLCS_IMPLICIT&#39; undeclared (first use in this function)<br/>Oracle.xs:191: warning: implicit declaration of function `OCILobCharSetForm&#39;<br/>Oracle.xs:191: error: dereferencing pointer to incomplete type<br/>Oracle.xs:191: error: dereferencing pointer to incomplete type<br/>Oracle.xs:191: error: dereferencing pointer to incomplete type<br/>Oracle.xs:191: error: dereferencing pointer to incomplete type<br/>Oracle.xs:192: error: `OCI_SUCCESS&#39; undeclared (first use in this function)<br/>Oracle.xs:193: error: dereferencing pointer to incomplete type<br/>Oracle.xs:207: error: `SQLCS_NCHAR&#39; undeclared (first use in this function)<br/>Oracle.xs:209: warning: implicit declaration of function `OCILobWrite&#39;<br/>Oracle.xs:209: error: dereferencing pointer to incomplete type<br/>Oracle.xs:209: error: dereferencing pointer to incomplete type<br/>Oracle.xs:209: error: `OCI_ONE_PIECE&#39; undeclared (first use in this function)<br/>Oracle.xs:209: error: dereferencing pointer to incomplete type<br/>Oracle.xs:209: error: dereferencing pointer to incomplete type<br/>Oracle.xs:215: error: dereferencing pointer to incomplete type<br/>Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_append&#39;:<br/>Oracle.c:1401: error: `OCILobLocator&#39; undeclared (first use in this function)<br/>Oracle.c:1401: error: `locator&#39; undeclared (first use in this function)<br/>Oracle.c:1402: warning: ISO C90 forbids mixed declarations and code<br/>Oracle.c:1418: error: parse error before &#39;)&#39; token<br/>Oracle.c:1417: warning: unused variable `tmp&#39;<br/>Oracle.xs:240: error: `SQLCS_IMPLICIT&#39; undeclared (first use in this function)<br/>Oracle.xs:247: error: dereferencing pointer to incomplete type<br/>Oracle.xs:247: error: dereferencing pointer to incomplete type<br/>Oracle.xs:247: error: dereferencing pointer to incomplete type<br/>Oracle.xs:247: error: dereferencing pointer to incomplete type<br/>Oracle.xs:248: error: `OCI_SUCCESS&#39; undeclared (first use in this function)<br/>Oracle.xs:249: error: dereferencing pointer to incomplete type<br/>Oracle.xs:263: error: `SQLCS_NCHAR&#39; undeclared (first use in this function)<br/>Oracle.xs:277: warning: implicit declaration of function `OCILobGetLength&#39;<br/>Oracle.xs:277: error: dereferencing pointer to incomplete type<br/>Oracle.xs:277: error: dereferencing pointer to incomplete type<br/>Oracle.xs:277: error: dereferencing pointer to incomplete type<br/>Oracle.xs:277: error: dereferencing pointer to incomplete type<br/>Oracle.xs:279: error: dereferencing pointer to incomplete type<br/>Oracle.xs:286: error: dereferencing pointer to incomplete type<br/>Oracle.xs:286: error: dereferencing pointer to incomplete type<br/>Oracle.xs:286: error: `OCI_ONE_PIECE&#39; undeclared (first use in this function)<br/>Oracle.xs:286: error: dereferencing pointer to incomplete type<br/>Oracle.xs:286: error: dereferencing pointer to incomplete type<br/>Oracle..xs:292: error: dereferencing pointer to incomplete type<br/>Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_read&#39;:<br/>Oracle.c:1498: error: `OCILobLocator&#39; undeclared (first use in this function)<br/>Oracle.c:1498: error: `locator&#39; undeclared (first use in this function)<br/>Oracle.c:1499: warning: ISO C90 forbids mixed declarations and code<br/>Oracle.c:1513: error: parse error before &#39;)&#39; token<br/>Oracle.c:1512: warning: unused variable `tmp&#39;<br/>Oracle.xs:317: error: `SQLCS_IMPLICIT&#39; undeclared (first use in this function)<br/>Oracle.xs:327: error: dereferencing pointer to incomplete type<br/>Oracle.xs:327: error: dereferencing pointer to incomplete type<br/>Oracle.xs:327: error: dereferencing pointer to incomplete type<br/>Oracle.xs:327: error: dereferencing pointer to incomplete type<br/>Oracle.xs:328: error: `OCI_SUCCESS&#39; undeclared (first use in this function)<br/>Oracle.xs:329: error: dereferencing pointer to incomplete type<br/>Oracle.xs:333: warning: implicit declaration of function `OCILobRead&#39;<br/>Oracle.xs:333: error: dereferencing pointer to incomplete type<br/>Oracle.xs:333: error: dereferencing pointer to incomplete type<br/>Oracle.xs:333: error: dereferencing pointer to incomplete type<br/>Oracle.xs:333: error: dereferencing pointer to incomplete type<br/>Oracle.xs:338: error: dereferencing pointer to incomplete type<br/>Oracle.xs:344: error: `SQLCS_NCHAR&#39; undeclared (first use in this function)<br/>Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_trim&#39;:<br/>Oracle.c:1564: error: `OCILobLocator&#39; undeclared (first use in this function)<br/>Oracle.c:1564: error: `locator&#39; undeclared (first use in this function)<br/>Oracle.c:1565: warning: ISO C90 forbids mixed declarations and code<br/>Oracle.c:1573: error: parse error before &#39;)&#39; token<br/>Oracle.c:1572: warning: unused variable `tmp&#39;<br/>Oracle.xs:359: warning: implicit declaration of function `OCILobTrim&#39;<br/>Oracle.xs:359: error: dereferencing pointer to incomplete type<br/>Oracle.xs:359: error: dereferencing pointer to incomplete type<br/>Oracle.xs:359: error: dereferencing pointer to incomplete type<br/>Oracle.xs:359: error: dereferencing pointer to incomplete type<br/>Oracle.xs:360: error: `OCI_SUCCESS&#39; undeclared (first use in this function)<br/>Oracle.xs:361: error: dereferencing pointer to incomplete type<br/>Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_length&#39;:<br/>Oracle.c:1600: error: `OCILobLocator&#39; undeclared (first use in this function)<br/>Oracle.c:1600: error: `locator&#39; undeclared (first use in this function)<br/>Oracle.xs:373: warning: ISO C90 forbids mixed declarations and code<br/>Oracle.c:1609: error: parse error before &#39;)&#39; token<br/>Oracle.c:1608: warning: unused variable `tmp&#39;<br/>Oracle.xs:377: error: dereferencing pointer to incomplete type<br/>Oracle.xs:377: error: dereferencing pointer to incomplete type<br/>Oracle.xs:377: error: dereferencing pointer to incomplete type<br/>Oracle.xs:377: error: dereferencing pointer to incomplete type<br/>Oracle.xs:378: error: `OCI_SUCCESS&#39; undeclared (first use in this function)<br/>Oracle.xs:379: error: dereferencing pointer to incomplete type<br/>Oracle.c: In function `boot_DBD__Oracle&#39;:<br/>Oracle.c:1670: error: `SQLCS_IMPLICIT&#39; undeclared (first use in this function)<br/>Oracle.c:1684: error: `SQLCS_NCHAR&#39; undeclared (first use in this function)<br/>Oracle.c:1688: error: `SQLT_INT&#39; undeclared (first use in this function)<br/>Oracle.c:1694: error: `SQLT_FLT&#39; undeclared (first use in this function)<br/>Oracle.xsi:21: error: invalid application of `sizeof&#39; to incomplete type `/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/DBIXS.h&#39; <br/>Oracle.xsi:22: error: invalid application of `sizeof&#39; to incomplete type `/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/DBIXS.h&#39; <br/>Oracle..xsi:23: error: invalid application of `sizeof&#39; to incomplete type `/usr/lib/perl5/site_perl/5.8/cygwin/auto/DBI/DBIXS.h&#39; <br/>make: *** [Oracle.o] Error 1<br/><br/><br/><br/><br/> ____________________________________________________________________________________<br/>Be a better friend, newshound, and <br/>know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ<br/><br/><br/><br/><br/><br/> ____________________________________________________________________________________<br/>Be a better friend, newshound, and <br/>know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32774.html Thu, 17 Apr 2008 03:57:04 +0000 Problem installing DBD::Oracle on Cygwin (1 message) <br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32772.html Wed, 16 Apr 2008 14:13:47 +0000 Re: Recursive SQL query? - Ah hah! (1 message) Someone in the local LUG group put me onto a possible way to accomplish it - not sure if what I took from their message was what they were getting at but it would seem to at least begin to address a possible way to do the inheritance!<br/><br/>included response:<br/>---------------------------<br/>Now there&#39;s an interesting way to look at it. Not sure if this iswhat you mean, but at the time an item was inserted, just addadditional links for each of the parents with another column and ainteger designator as to how many &#39;steps&#39; below that item is. Sosearching for the immediate parent would be a 1, another link to that parents parentwould be a 2 and so forth. Say a column called descendency orrelationship (or rel for short). Then looking for immediate parent linkswould just require a WHERE rel=1, and inherited relationships wouldjust use a ORDER BY rel ASC.<br/>That might also be useful for statistics and management. i.e. what&#39;s the deepest tree? hmm ok, MAX rel, how many descendants fall under x? SELECT count(*) FROM categoryLinks WHERE ancestorID = x AND rel = 1 (assuming i change parentID to ancestorID of course)<br/><br/>Now once again, my understanding of SQL falls short - I know there aresome means for finding unique values returned, would there be any wayfor restricting to the &#39;first&#39; to have a non-null? I&#39;m sure you couldprobably do it looking up one field at a time, how about the structurefor pulling multiple fields returning the first with a value for each?<br/><br/>SW<br/><br/>----- Original Message ----<br/>From: Tom<br/>To: Scott Webster Wood &lt;treii28@yahoo.com&gt;<br/>Sent: Tuesday, April 15, 2008 5:17:09 PM<br/>Subject: Re: [WLUG] OT: recursive SQL?<br/><br/>I was thinking you would do this with one table with N joins, <br/>depending on the depth you wanted to go.<br/><br/>ID | p_ID | name | property<br/><br/>And outer join on ID to p_ID.<br/>Top parent would have p_ID = 0<br/><br/><br/><br/><br/><br/> ____________________________________________________________________________________<br/>Be a better friend, newshound, and <br/>know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ<br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32764.html Wed, 16 Apr 2008 06:38:16 +0000 Recursive SQL query? (14 messages) I&#39;m trying to figure out the best way to build an heirarchial categorystructure kinda like you&#39;d find on yahoo or ebay. Basically I amcreating a number of items and I am going to tie each item via a linktable to another link table that defines the categories and subcategories.<br/><br/>Sample:<br/> categories:<br/> ID = int {autofill/unique/primary key}<br/> Name = char(32)<br/> Desc = char(128)<br/> Property1 = char(64)<br/> Property2 = char(64)<br/><br/> categoryLinks<br/> ID = int {autofill/unique/primary key}<br/> catID = int {required} (pointing to an ID from categories)<br/> parentID = int (pointing to another ID from categories)<br/> Desc = char(128)<br/> Property1 = char(64)<br/> Property2 = char(64)<br/><br/> items<br/> ID = int {autofill/unique/primary key}<br/> Name = char(64) {required}<br/> Desc = char(128)<br/> Property1 = char(64)<br/> Property2 = char(64)<br/><br/> itemLinks<br/> itemID = int (pointing to an ID from items)<br/> categoryLinkID = int (pointing to an ID from categoryLinks)<br/><br/><br/>categoryLinkswill have one entry with parentID = null for the &#39;top&#39; of anyhierarchical tree. The Desc and other property values may also be null(although I&#39;m going to generally fill in all of them on the top/parententry). I still wrestling with how to deal with identical categoryLinkentries in complex redundant sub-trees but am more interested in anycreative ideas for another delimma.<br/><br/>I would like to be able totreat these kind of like object instances and utilize inheritancewhenever a property of a sub-item is empty (null). i.e. if I had alinking of categories like Computers with links to Desktop and Laptop,and under Desktop had links to Windows, Apple and Linux:<br/> <br/>categories:<br/>+----+-----------+<br/>| ID | Desc | Property1 |<br/>+----+-----------+-----------+<br/>| 01 | Computers | technical |<br/>| 02 | Desktop | [NULL] |<br/>| 03 | Laptop | portable |<br/>| 04 | Windows | [NULL] |<br/>| 05 | Apple | [NULL] |<br/>| 06 | Linux | superior! |<br/>+----+-----------+-----------+<br/><br/>categoryLinks:<br/>+----+-------+----------+-----------+<br/>| ID | catID | parentID | Property1 |<br/>+----+-------+----------+-----------+<br/>| 01 | 01 | [NULL] | hightech | (parent - overriding Property1 from categories value)<br/>| 02 | 02 | 01 | [NULL] | (links Desktop under Computer)<br/>| 03 | 03 | 01 | [NULL] | (links Laptop under Computer)<br/>| 04 | 04 | 02 | [NULL] | (links Windows under Desktop)<br/>| 05 | 05 | 02 | [NULL] | (links Apple under Desktop)<br/>| 06 | 06 | 02 | [NULL] | (links Linux under Desktop)<br/>+----+-------+----------+-----------+<br/><br/>let&#39;sjust say I left Property1 blank on the link forWindows and also in it&#39;s parent Desktop but had it filled in on theDesktop parent Computers (as shown above). If I wanted to find the Property1 for the sub category but found it blank, I&#39;d like to grab thevalue from the next parent(s) above it that did have a value.<br/><br/>Is there any way to writethat kind of recursive search right in the SQL itself rather than doingtons of lookups in an &#39;until&#39; type structure in my scripting languageuntil I find a value that&#39;s not null?<br/><br/>Ultimately I&#39;d want it tosearch first in the properties for the current item, then the categoryLink then the &#39;categories&#39; entry for catID from that link, thengo to the parent and continue until either it found a value for agiven property or until parentID was null. I will settle for somethingthat just looks up the categoryLinks tree itself. I know I can do it with aperl or php loop but was just curious if SQL could do anything sofancy. (I&#39;m probably going to be using MySQL but do have access topostgresql also)<br/><br/>The other idea I am toying with is just using afile/directory tree but cringe at the number of file reads I will haveto do when building HTML option lists to get all the descriptions! Imay settle on some combination of the two as this ultimately going tobe for a web tool and I will also be having other associated files witheach category or item. (gif icons, etc.) Either way I&#39;m still goingto have to look backwards to handle the desired inheritance. Any ideasare welcome.<br/><br/>SW<br/><br/>P.S. I&#39;m now playing with another concept of just using keywords for each entry under both categories and items. Basically using a table for the top-level categories, another for individual items and one for keywords. There are then two keyword-link tables, one for category keywords and one for item keywords.<br/>I&#39;m also playing with another set of two tables for generic keyword filters that could be assigned to each category. (a filter name pointing to a particular categoryID and a link table of keywords tied to the filterID that I could then use when creating a search for items related to a desired subset of a given category)<br/><br/>One of the problems I saw with the complex heirarchy is when thestructure gets too deep, it becomes difficult to select a specificitem when you have to keep clicking through category after category toget to the one you want. (just try it on ebay or yahoo! lol)<br/>I added an additional &#39;type&#39; column on the keywords to categorize howthe keyword relates to the items and even created a special conditionwhere &#39;type&#39; = &#39;type&#39; and the keyword= another type value. This then allowsme to include an option add an entire group of keywords of a given&#39;type&#39; with a single link list entry.<br/>This idea will probably give me a lot more flexibility and would avoid problems with redundant sub-trees as well. The user would only have to select a category then a given subset filter to get a manageable list of related items. <br/>But I would still be curious about the recursive search mentioned above.<br/><br/><br/><br/> ____________________________________________________________________________________<br/>Be a better friend, newshound, and <br/>know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ<br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32751.html Tue, 15 Apr 2008 10:29:31 +0000 Log DBI query and values with placeholders (8 messages) Hello all experts !<br/><br/>I need to log every INSERT, UPDATE and DELETE queries even when using<br/>placeholders. Here some code:<br/><br/>$sql = &quot;UPDATE users SET `name`=? WHERE &igrave;d`=1;&quot;;<br/>$sth = $dbh-&gt;prepare($sql);<br/>$sth-&gt;execute(&#39;Test User&#39;);<br/>$sth-&gt;finish();<br/><br/>Of course execute params are given dynamically and I want to use<br/>placeholders for more secure code.<br/>I want to save that UPDATE query into file or database ( I&#39;ll prefer<br/>DB :) ) for tracking purposes. Any idea how to do this?<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32743.html Tue, 15 Apr 2008 04:37:06 +0000 Unable to install DBD::ODBC on OSX Leopard 10.5.2 (18 messages) I apologize if this is redundant as I know there have been previous<br/>posts regarding this issue. However, I have not been able to find any<br/>resolution in any of those posts.<br/>Here are my versions of the various components :<br/><br/>Hardware: Apple Xserver<br/>OS: OSX Leopard 10.5.2<br/>Unix version: 9.2.0 Darwin Kernel Version 9.2.0<br/>Perl: 5.8.8<br/>DBI: 1.52<br/>DBD:ODBC: 1.15<br/>unixODBC: 2.2.12<br/>freeTDS: 0.83 dev 20080402<br/>DB type: SQL Server<br/><br/>So, I&#39;m pretty sure I have the latest of everything. I have<br/>successfully installed the unixODBC w/ freeTDS drivers component.<br/>Testing using isql to make the connection successfully returns data<br/>from the SQL Server. Everything is fine up until the point I try to<br/>compile the DBD::ODBC module using make. I&#39;m starting to think that<br/>this is a compatibilty issue, because I proceeded to install the<br/>DBD::Sybase module, and receive pretty much the exact same errors at<br/>the same points. Much thanks in advance... /Alex Medina<br/><br/>Here is the output of my &#39;make test&#39;<br/><br/>dbdimp.c: In function &#39;odbc_db_login6&#39;:<br/>dbdimp.c:582: warning: pointer targets in passing argument 3 of<br/>&#39;SQLDriverConnect&#39; differ in signedness<br/>dbdimp.c:582: warning: pointer targets in passing argument 5 of<br/>&#39;SQLDriverConnect&#39; differ in signedness<br/>dbdimp.c:641: warning: pointer targets in passing argument 2 of<br/>&#39;SQLConnect&#39; differ in signedness<br/>dbdimp.c:641: warning: pointer targets in passing argument 4 of<br/>&#39;SQLConnect&#39; differ in signedness<br/>dbdimp.c:641: warning: pointer targets in passing argument 6 of<br/>&#39;SQLConnect&#39; differ in signedness<br/>dbdimp.c: In function &#39;odbc_db_login6&#39;:<br/>dbdimp.c:582: warning: pointer targets in passing argument 3 of<br/>&#39;SQLDriverConnect&#39; differ in signedness<br/>dbdimp.c:582: warning: pointer targets in passing argument 5 of<br/>&#39;SQLDriverConnect&#39; differ in signedness<br/>dbdimp.c:641: warning: pointer targets in passing argument 2 of<br/>&#39;SQLConnect&#39; differ in signedness<br/>dbdimp.c:641: warning: pointer targets in passing argument 4 of<br/>&#39;SQLConnect&#39; differ in signedness<br/>dbdimp.c:641: warning: pointer targets in passing argument 6 of<br/>&#39;SQLConnect&#39; differ in signedness<br/>dbdimp.c: In function &#39;dbd_error2&#39;:<br/>dbdimp.c:997: warning: pointer targets in passing argument 2 of<br/>&#39;Perl_newSVpv&#39; differ in signedness<br/>dbdimp.c:998: warning: pointer targets in passing argument 2 of<br/>&#39;Perl_newSVpv&#39; differ in signedness<br/>dbdimp.c:1019: warning: pointer targets in passing argument 1 of<br/>&#39;strcat&#39; differ in signedness<br/>dbdimp.c:1020: warning: pointer targets in passing argument 1 of<br/>&#39;strcat&#39; differ in signedness<br/>dbdimp.c:1020: warning: pointer targets in passing argument 2 of<br/>&#39;strcat&#39; differ in signedness<br/>dbdimp.c:1021: warning: pointer targets in passing argument 1 of<br/>&#39;strcat&#39; differ in signedness<br/>dbdimp.c:1025: warning: pointer targets in passing argument 1 of<br/>&#39;strcmp&#39; differ in signedness<br/>dbdimp.c:1026: warning: pointer targets in passing argument 1 of<br/>&#39;strcat&#39; differ in signedness<br/>dbdimp.c:1030: warning: pointer targets in passing argument 5 of<br/>&#39;imp_xxh-&gt;com.std.dbistate-&gt;set_err_char&#39; differ in signedness<br/>dbdimp.c:1030: warning: pointer targets in passing argument 6 of<br/>&#39;imp_xxh-&gt;com.std.dbistate-&gt;set_err_char&#39; differ in signedness<br/>dbdimp.c:1032: warning: pointer targets in passing argument 5 of<br/>&#39;imp_xxh-&gt;com.std.dbistate-&gt;set_err_char&#39; differ in signedness<br/>dbdimp.c:1032: warning: pointer targets in passing argument 6 of<br/>&#39;imp_xxh-&gt;com.std.dbistate-&gt;set_err_char&#39; differ in signedness<br/>dbdimp.c: In function &#39;dbd_error2&#39;:<br/>dbdimp.c:997: warning: pointer targets in passing argument 2 of<br/>&#39;Perl_newSVpv&#39; differ in signedness<br/>dbdimp.c:998: warning: pointer targets in passing argument 2 of<br/>&#39;Perl_newSVpv&#39; differ in signedness<br/>dbdimp.c:1019: warning: pointer targets in passing argument 1 of<br/>&#39;strcat&#39; differ in signedness<br/>dbdimp.c:1020: warning: pointer targets in passing argument 1 of<br/>&#39;strcat&#39; differ in signedness<br/>dbdimp.c:1020: warning: pointer targets in passing argument 2 of<br/>&#39;strcat&#39; differ in signedness<br/>dbdimp.c:1021: warning: pointer targets in passing argument 1 of<br/>&#39;strcat&#39; differ in signedness<br/>dbdimp.c:1025: warning: pointer targets in passing argument 1 of<br/>&#39;strcmp&#39; differ in signedness<br/>dbdimp.c:1026: warning: pointer targets in passing argument 1 of<br/>&#39;strcat&#39; differ in signedness<br/>dbdimp.c:1030: warning: pointer targets in passing argument 5 of<br/>&#39;imp_xxh-&gt;com.std.dbistate-&gt;set_err_char&#39; differ in signedness<br/>dbdimp.c:1030: warning: pointer targets in passing argument 6 of<br/>&#39;imp_xxh-&gt;com.std.dbistate-&gt;set_err_char&#39; differ in signedness<br/>dbdimp.c:1032: warning: pointer targets in passing argument 5 of<br/>&#39;imp_xxh-&gt;com.std.dbistate-&gt;set_err_char&#39; differ in signedness<br/>dbdimp.c:1032: warning: pointer targets in passing argument 6 of<br/>&#39;imp_xxh-&gt;com.std.dbistate-&gt;set_err_char&#39; differ in signedness<br/>dbdimp.c: In function &#39;odbc_st_tables&#39;:<br/>dbdimp.c:1298: warning: pointer targets in passing argument 2 of<br/>&#39;SQLTables&#39; differ in signedness<br/>dbdimp.c:1298: warning: pointer targets in passing argument 4 of<br/>&#39;SQLTables&#39; differ in signedness<br/>dbdimp.c:1298: warning: pointer targets in passing argument 6 of<br/>&#39;SQLTables&#39; differ in signedness<br/>dbdimp.c:1298: warning: pointer targets in passing argument 8 of<br/>&#39;SQLTables&#39; differ in signedness<br/>dbdimp.c: In function &#39;odbc_st_primary_keys&#39;:<br/>dbdimp.c:1358: warning: pointer targets in passing argument 2 of<br/>&#39;SQLPrimaryKeys&#39; differ in signedness<br/>dbdimp.c:1358: warning: pointer targets in passing argument 4 of<br/>&#39;SQLPrimaryKeys&#39; differ in signedness<br/>dbdimp.c:1358: warning: pointer targets in passing argument 6 of<br/>&#39;SQLPrimaryKeys&#39; differ in signedness<br/>dbdimp.c: In function &#39;odbc_st_tables&#39;:<br/>dbdimp.c:1298: warning: pointer targets in passing argument 2 of<br/>&#39;SQLTables&#39; differ in signedness<br/>dbdimp.c:1298: warning: pointer targets in passing argument 4 of<br/>&#39;SQLTables&#39; differ in signedness<br/>dbdimp.c:1298: warning: pointer targets in passing argument 6 of<br/>&#39;SQLTables&#39; differ in signedness<br/>dbdimp.c:1298: warning: pointer targets in passing argument 8 of<br/>&#39;SQLTables&#39; differ in signedness<br/>dbdimp.c: In function &#39;odbc_st_prepare&#39;:<br/>dbdimp.c:1438: warning: pointer targets in passing argument 2 of<br/>&#39;SQLPrepare&#39; differ in signedness<br/>dbdimp.c: In function &#39;odbc_st_primary_keys&#39;:<br/>dbdimp.c:1358: warning: pointer targets in passing argument 2 of<br/>&#39;SQLPrimaryKeys&#39; differ in signedness<br/>dbdimp.c:1358: warning: pointer targets in passing argument 4 of<br/>&#39;SQLPrimaryKeys&#39; differ in signedness<br/>dbdimp.c:1358: warning: pointer targets in passing argument 6 of<br/>&#39;SQLPrimaryKeys&#39; differ in signedness<br/>dbdimp.c: In function &#39;odbc_st_prepare&#39;:<br/>dbdimp.c:1438: warning: pointer targets in passing argument 2 of<br/>&#39;SQLPrepare&#39; differ in signedness<br/>dbdimp.c: In function &#39;odbc_st_execute&#39;:<br/>dbdimp.c:1969: warning: pointer targets in passing argument 2 of<br/>&#39;SQLExecDirect&#39; differ in signedness<br/>dbdimp.c:2010: warning: pointer targets in assignment differ in signedness<br/>dbdimp.c: In function &#39;odbc_st_execute&#39;:<br/>dbdimp.c:1969: warning: pointer targets in passing argument 2 of<br/>&#39;SQLExecDirect&#39; differ in signedness<br/>dbdimp.c:2010: warning: pointer targets in assignment differ in signedness<br/>dbdimp.c: In function &#39;_dbd_rebind_ph&#39;:<br/>dbdimp.c:2742: warning: pointer targets in assignment differ in signedness<br/>dbdimp.c:2745: warning: pointer targets in assignment differ in signedness<br/>dbdimp.c:2753: warning: pointer targets in assignment differ in signedness<br/>dbdimp.c: In function &#39;_dbd_rebind_ph&#39;:<br/>dbdimp.c:2742: warning: pointer targets in assignment differ in signedness<br/>dbdimp.c:2745: warning: pointer targets in assignment differ in signedness<br/>dbdimp.c:2753: warning: pointer targets in assignment differ in signedness<br/>dbdimp.c: At top level:<br/>dbdimp.c:3019: warning: declaration does not declare anything<br/>dbdimp.c:3019: warning: no semicolon at end of struct or union<br/>dbdimp.c:3019: error: syntax error before numeric constant<br/>dbdimp.c:3021: warning: data definition has no type or storage class<br/>dbdimp.c:3023: error: syntax error before &#39;S_db_storeOptions&#39;<br/>dbdimp.c:3024: warning: braces around scalar initializer<br/>dbdimp.c:3024: warning: (near initialization for &#39;S_db_storeOptions[0]&#39;)<br/>dbdimp.c:3024: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3024: warning: excess elements in scalar initializer<br/>dbdimp.c:3024: warning: (near initialization for &#39;S_db_storeOptions[0]&#39;)<br/>dbdimp.c:3024: warning: excess elements in scalar initializer<br/>dbdimp.c:3024: warning: (near initialization for &#39;S_db_storeOptions[0]&#39;)<br/>dbdimp.c:3024: warning: excess elements in scalar initializer<br/>dbdimp.c:3024: warning: (near initialization for &#39;S_db_storeOptions[0]&#39;)<br/>dbdimp.c:3033: warning: braces around scalar initializer<br/>dbdimp.c:3033: warning: (near initialization for &#39;S_db_storeOptions[1]&#39;)<br/>dbdimp.c:3033: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3033: warning: excess elements in scalar initializer<br/>dbdimp.c:3033: warning: (near initialization for &#39;S_db_storeOptions[1]&#39;)<br/>dbdimp.c:3034: warning: braces around scalar initializer<br/>dbdimp.c:3034: warning: (near initialization for &#39;S_db_storeOptions[2]&#39;)<br/>dbdimp.c:3034: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3034: warning: excess elements in scalar initializer<br/>dbdimp.c:3034: warning: (near initialization for &#39;S_db_storeOptions[2]&#39;)<br/>dbdimp.c:3035: warning: braces around scalar initializer<br/>dbdimp.c:3035: warning: (near initialization for &#39;S_db_storeOptions[3]&#39;)<br/>dbdimp.c:3035: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3035: warning: excess elements in scalar initializer<br/>dbdimp.c:3035: warning: (near initialization for &#39;S_db_storeOptions[3]&#39;)<br/>dbdimp.c:3036: warning: braces around scalar initializer<br/>dbdimp.c:3036: warning: (near initialization for &#39;S_db_storeOptions[4]&#39;)<br/>dbdimp.c:3036: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3036: warning: excess elements in scalar initializer<br/>dbdimp.c:3036: warning: (near initialization for &#39;S_db_storeOptions[4]&#39;)<br/>dbdimp.c:3037: warning: braces around scalar initializer<br/>dbdimp.c:3037: warning: (near initialization for &#39;S_db_storeOptions[5]&#39;)<br/>dbdimp.c:3037: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3037: warning: excess elements in scalar initializer<br/>dbdimp.c:3037: warning: (near initialization for &#39;S_db_storeOptions[5]&#39;)<br/>dbdimp.c:3038: warning: braces around scalar initializer<br/>dbdimp.c:3038: warning: (near initialization for &#39;S_db_storeOptions[6]&#39;)<br/>dbdimp.c:3038: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3038: warning: excess elements in scalar initializer<br/>dbdimp.c:3038: warning: (near initialization for &#39;S_db_storeOptions[6]&#39;)<br/>dbdimp.c:3039: warning: braces around scalar initializer<br/>dbdimp.c:3039: warning: (near initialization for &#39;S_db_storeOptions[7]&#39;)<br/>dbdimp.c:3039: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3039: warning: excess elements in scalar initializer<br/>dbdimp.c:3039: warning: (near initialization for &#39;S_db_storeOptions[7]&#39;)<br/>dbdimp.c:3040: warning: braces around scalar initializer<br/>dbdimp.c:3040: warning: (near initialization for &#39;S_db_storeOptions[8]&#39;)<br/>dbdimp.c:3040: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3040: warning: excess elements in scalar initializer<br/>dbdimp.c:3040: warning: (near initialization for &#39;S_db_storeOptions[8]&#39;)<br/>dbdimp.c:3041: warning: braces around scalar initializer<br/>dbdimp.c:3041: warning: (near initialization for &#39;S_db_storeOptions[9]&#39;)<br/>dbdimp.c:3041: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3041: warning: excess elements in scalar initializer<br/>dbdimp.c:3041: warning: (near initialization for &#39;S_db_storeOptions[9]&#39;)<br/>dbdimp.c:3042: warning: braces around scalar initializer<br/>dbdimp.c:3042: warning: (near initialization for &#39;S_db_storeOptions[10]&#39;)<br/>dbdimp.c:3042: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3042: warning: excess elements in scalar initializer<br/>dbdimp.c:3042: warning: (near initialization for &#39;S_db_storeOptions[10]&#39;)<br/>dbdimp.c:3043: warning: braces around scalar initializer<br/>dbdimp.c:3043: warning: (near initialization for &#39;S_db_storeOptions[11]&#39;)<br/>dbdimp.c:3043: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3044: warning: data definition has no type or storage class<br/>dbdimp.c:3046: error: syntax error before &#39;*&#39; token<br/>dbdimp.c:3047: error: syntax error before &#39;*&#39; token<br/>dbdimp.c: In function &#39;S_dbOption&#39;:<br/>dbdimp.c:3050: error: &#39;pars&#39; undeclared (first use in this function)<br/>dbdimp.c:3050: error: (Each undeclared identifier is reported only once<br/>dbdimp.c:3050: error: for each function it appears in.)<br/>dbdimp.c:3051: error: &#39;key&#39; undeclared (first use in this function)<br/>dbdimp.c:3051: error: &#39;len&#39; undeclared (first use in this function)<br/>dbdimp.c: In function &#39;odbc_db_STORE_attrib&#39;:<br/>dbdimp.c:3077: error: nested functions are disabled, use<br/>-fnested-functions to re-enable<br/>dbdimp.c:3077: error: syntax error before &#39;*&#39; token<br/>dbdimp.c:3080: error: &#39;pars&#39; undeclared (first use in this function)<br/>dbdimp.c: At top level:<br/>dbdimp.c:3019: warning: declaration does not declare anything<br/>dbdimp.c:3019: warning: no semicolon at end of struct or union<br/>dbdimp.c:3019: error: syntax error before numeric constant<br/>dbdimp.c:3021: warning: data definition has no type or storage class<br/>dbdimp.c:3023: error: syntax error before &#39;S_db_storeOptions&#39;<br/>dbdimp.c:3024: warning: braces around scalar initializer<br/>dbdimp.c:3024: warning: (near initialization for &#39;S_db_storeOptions[0]&#39;)<br/>dbdimp.c:3024: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3024: warning: excess elements in scalar initializer<br/>dbdimp.c:3024: warning: (near initialization for &#39;S_db_storeOptions[0]&#39;)<br/>dbdimp.c:3024: warning: excess elements in scalar initializer<br/>dbdimp.c:3024: warning: (near initialization for &#39;S_db_storeOptions[0]&#39;)<br/>dbdimp.c:3024: warning: excess elements in scalar initializer<br/>dbdimp.c:3024: warning: (near initialization for &#39;S_db_storeOptions[0]&#39;)<br/>dbdimp.c:3033: warning: braces around scalar initializer<br/>dbdimp.c:3033: warning: (near initialization for &#39;S_db_storeOptions[1]&#39;)<br/>dbdimp.c:3033: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3033: warning: excess elements in scalar initializer<br/>dbdimp.c:3033: warning: (near initialization for &#39;S_db_storeOptions[1]&#39;)<br/>dbdimp.c:3034: warning: braces around scalar initializer<br/>dbdimp.c:3034: warning: (near initialization for &#39;S_db_storeOptions[2]&#39;)<br/>dbdimp.c:3034: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3034: warning: excess elements in scalar initializer<br/>dbdimp.c:3034: warning: (near initialization for &#39;S_db_storeOptions[2]&#39;)<br/>dbdimp.c:3035: warning: braces around scalar initializer<br/>dbdimp.c:3035: warning: (near initialization for &#39;S_db_storeOptions[3]&#39;)<br/>dbdimp.c:3035: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3035: warning: excess elements in scalar initializer<br/>dbdimp.c:3035: warning: (near initialization for &#39;S_db_storeOptions[3]&#39;)<br/>dbdimp.c:3036: warning: braces around scalar initializer<br/>dbdimp.c:3036: warning: (near initialization for &#39;S_db_storeOptions[4]&#39;)<br/>dbdimp.c:3036: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3036: warning: excess elements in scalar initializer<br/>dbdimp.c:3036: warning: (near initialization for &#39;S_db_storeOptions[4]&#39;)<br/>dbdimp.c:3037: warning: braces around scalar initializer<br/>dbdimp.c:3037: warning: (near initialization for &#39;S_db_storeOptions[5]&#39;)<br/>dbdimp.c:3037: warning: initialization makes integer from pointer without a cast<br/>dbdimp.c:3037: warning: excess elements in scalar initializer<br/>dbdimp.c:3037: warni