perl.dbi.users http://www.nntp.perl.org/group/perl.dbi.users/ ... Copyright 1998-2013 perl.org Tue, 18 Jun 2013 04:36:17 +0000 ask@perl.org Re: (Fwd) Quick Perl Questions - DBI and DBD by Martin J. Evans On 10/06/2013 19:14, Prindle, Douglas E wrote:<br/>&gt; Hi John.<br/>&gt;<br/>&gt; Thanks a bunch for responding.<br/>&gt;<br/>&gt; Yes we had a new oracle 11 client installed as well.<br/>&gt;<br/>&gt; So with that in mind should I recompile or not ?<br/>&gt;<br/>&gt; *Thank You,*<br/>&gt; *Douglas E. Prindle*| Credit Decisioning Systems | Apollo Infrastructure<br/>&gt; ((904) 954-2472 |6(904) 954-6305 |*douglas.e.prindle@citi.com<br/>&gt; &lt;mailto:douglas.e.prindle@citi.com&gt;<br/><br/>When you upgrade your Oracle client libs you should generally rebuild <br/>DBD::Oracle. Some features in DBD::Oracle depend on the version of <br/>Oracle client libs you build against. Also, there is nothing I&#39;m aware <br/>from Oracle that says they cannot change the Oracle client libs so you <br/>could hit some incompatibility if you don&#39;t recompile.<br/><br/>Martin<br/>-- <br/>Martin J. Evans<br/>Wetherby, UK<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/06/msg36628.html Wed, 12 Jun 2013 20:14:25 +0000 RE: (Fwd) Quick Perl Questions - DBI and DBD by Prindle, Douglas E Hi John.<br/>Thanks a bunch for responding.<br/>Yes we had a new oracle 11 client installed as well.<br/><br/>So with that in mind should I recompile or not ?<br/><br/><br/>Thank You,<br/>Douglas E. Prindle | Credit Decisioning Systems | Apollo Infrastructure<br/>*(904) 954-2472 | 6(904) 954-6305 | * douglas.e.prindle@citi.com&lt;mailto:douglas.e.prindle@citi.com&gt;<br/><br/>________________________________<br/>From: John Scoles [mailto:byterock@hotmail.com]<br/>Sent: Monday, June 10, 2013 1:58 PM<br/>To: Prindle, Douglas E [GCG-NAOT]; dbi-users@perl.org<br/>Subject: RE: (Fwd) Quick Perl Questions - DBI and DBD<br/><br/>It should just work as long as you did not change your Oracle client.<br/><br/>Most of the time Oracle clients are compatible two forward and two back.<br/><br/>&gt; Date: Mon, 10 Jun 2013 17:54:59 +0100<br/>&gt; From: Tim.Bunce@pobox.com<br/>&gt; To: dbi-users@perl.org<br/>&gt; CC: douglas.e.prindle@citi.com<br/>&gt; Subject: (Fwd) Quick Perl Questions - DBI and DBD<br/>&gt;<br/>&gt; ----- Forwarded message from &quot;Prindle, Douglas E &quot; &lt;douglas.e.prindle@citi.com&gt; -----<br/>&gt;<br/>&gt; Date: Mon, 10 Jun 2013 15:11:26 +0000<br/>&gt; From: &quot;Prindle, Douglas E &quot; &lt;douglas.e.prindle@citi.com&gt;<br/>&gt; To: &quot;Tim.Bunce@pobox.com&quot; &lt;Tim.Bunce@pobox.com&gt;<br/>&gt; Subject: Quick Perl Questions - DBI and DBD<br/>&gt;<br/>&gt; Hi Tim.<br/>&gt;<br/>&gt;<br/>&gt; I have emailed you before.<br/>&gt;<br/>&gt; Just had a quick question for you being Perl expert you are.<br/>&gt;<br/>&gt;<br/>&gt; We are going from Oracle 10 to Oracle 11.<br/>&gt;<br/>&gt; I recompiled our modules last year we are using version DBI-1.53 and DBD-Oracle-1.19 they have worked<br/>&gt; fine with Oracle 10. No issues.<br/>&gt;<br/>&gt;<br/>&gt; Can I just continue to use them with Oracle 11 or would a recompile be necessary ?<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; Thank You,<br/>&gt; Douglas E. Prindle | Credit Decisioning Systems | Apollo Infrastructure<br/>&gt; ((904) 954-2472 | 6(904) 954-6305 | * [1]douglas.e.prindle@citi.com<br/>&gt;<br/>&gt;<br/>&gt; ----- End forwarded message -----<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/06/msg36627.html Mon, 10 Jun 2013 21:20:40 +0000 RE: (Fwd) Quick Perl Questions - DBI and DBD by John Scoles It should just work as long as you did not change your Oracle client. <br/> <br/>Most of the time Oracle clients are compatible two forward and two back. <br/> <br/>&gt; Date: Mon, 10 Jun 2013 17:54:59 +0100<br/>&gt; From: Tim.Bunce@pobox.com<br/>&gt; To: dbi-users@perl.org<br/>&gt; CC: douglas.e.prindle@citi.com<br/>&gt; Subject: (Fwd) Quick Perl Questions - DBI and DBD<br/>&gt; <br/>&gt; ----- Forwarded message from &quot;Prindle, Douglas E &quot; &lt;douglas.e.prindle@citi.com&gt; -----<br/>&gt; <br/>&gt; Date: Mon, 10 Jun 2013 15:11:26 +0000<br/>&gt; From: &quot;Prindle, Douglas E &quot; &lt;douglas.e.prindle@citi.com&gt;<br/>&gt; To: &quot;Tim.Bunce@pobox.com&quot; &lt;Tim.Bunce@pobox.com&gt;<br/>&gt; Subject: Quick Perl Questions - DBI and DBD<br/>&gt; <br/>&gt; Hi Tim.<br/>&gt; <br/>&gt; <br/>&gt; I have emailed you before.<br/>&gt; <br/>&gt; Just had a quick question for you being Perl expert you are.<br/>&gt; <br/>&gt; <br/>&gt; We are going from Oracle 10 to Oracle 11.<br/>&gt; <br/>&gt; I recompiled our modules last year we are using version DBI-1.53 and DBD-Oracle-1.19 they have worked<br/>&gt; fine with Oracle 10. No issues.<br/>&gt; <br/>&gt; <br/>&gt; Can I just continue to use them with Oracle 11 or would a recompile be necessary ?<br/>&gt; <br/>&gt; <br/>&gt; <br/>&gt; Thank You,<br/>&gt; Douglas E. Prindle | Credit Decisioning Systems | Apollo Infrastructure<br/>&gt; ((904) 954-2472 | 6(904) 954-6305 | * [1]douglas.e.prindle@citi.com<br/>&gt; <br/>&gt; <br/>&gt; ----- End forwarded message -----<br/> <br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/06/msg36626.html Mon, 10 Jun 2013 17:58:26 +0000 (Fwd) Quick Perl Questions - DBI and DBD by Tim.Bunce@pobox.com ----- Forwarded message from &quot;Prindle, Douglas E &quot; &lt;douglas.e.prindle@citi.com&gt; -----<br/><br/>Date: Mon, 10 Jun 2013 15:11:26 +0000<br/>From: &quot;Prindle, Douglas E &quot; &lt;douglas.e.prindle@citi.com&gt;<br/>To: &quot;Tim.Bunce@pobox.com&quot; &lt;Tim.Bunce@pobox.com&gt;<br/>Subject: Quick Perl Questions - DBI and DBD<br/><br/> Hi Tim.<br/><br/><br/> I have emailed you before.<br/><br/> Just had a quick question for you being Perl expert you are.<br/><br/><br/> We are going from Oracle 10 to Oracle 11.<br/><br/> I recompiled our modules last year we are using version DBI-1.53 and DBD-Oracle-1.19 they have worked<br/> fine with Oracle 10. No issues.<br/><br/><br/> Can I just continue to use them with Oracle 11 or would a recompile be necessary ?<br/><br/><br/><br/> Thank You,<br/> Douglas E. Prindle | Credit Decisioning Systems | Apollo Infrastructure<br/> ((904) 954-2472 | 6(904) 954-6305 | * [1]douglas.e.prindle@citi.com<br/><br/><br/>----- End forwarded message -----<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/06/msg36625.html Mon, 10 Jun 2013 16:55:18 +0000 Re: DBI Driver.xst and DBD::cego by Jonathan Leffler Since the only place &#39;plural&#39; is used is the statement immediately after<br/>the assignment, it is much simpler and perfectly safe to use<br/><br/>const char *plural = ...<br/><br/>than to futz around with the myp array as in the second patch (or to cast<br/>away constness as in the first patch).<br/><br/><br/><br/>On Mon, May 27, 2013 at 8:16 AM, Kurt Jaeger &lt;dbi-users@opsec.eu&gt; wrote:<br/><br/>&gt; Hi!<br/>&gt;<br/>&gt; Tim wrote:<br/>&gt; &gt; On Sun, May 26, 2013 at 08:13:58PM +0200, Kurt Jaeger wrote:<br/>&gt; &gt; &gt; https://rt.cpan.org/Ticket/Display.html?id=84285<br/>&gt; &gt;<br/>&gt; &gt; error: invalid conversion from &#39;const char*&#39; to &#39;char*&#39;<br/>&gt; &gt;<br/>&gt; &gt; I&#39;m surprised the compiler treats this as an error, it&#39;s normally a<br/>&gt; warning.<br/>&gt;<br/>&gt; &gt; - char *plural = (DBIc_ACTIVE_KIDS(imp_dbh)==1) ? &quot;&quot; : &quot;s&quot;;<br/>&gt; &gt; + char *plural = (DBIc_ACTIVE_KIDS(imp_dbh)==1) ? (char*)&quot;&quot; :<br/>&gt; (char*)&quot;s&quot;;<br/>&gt;<br/>&gt; clang++ is more strict 8-}<br/>&gt;<br/>&gt; &gt; &gt; Can someone have a look at it ? Is that patch the right way to do it ?<br/>&gt; &gt;<br/>&gt; &gt; It would be better to put the const on the declaration in this case.<br/>&gt; I.e.:<br/>&gt; &gt;<br/>&gt; &gt; - char *plural = (DBIc_ACTIVE_KIDS(imp_dbh)==1) ? &quot;&quot; : &quot;s&quot;;<br/>&gt; &gt; + const char *plural = (DBIc_ACTIVE_KIDS(imp_dbh)==1) ? &quot;&quot; : &quot;s&quot;;<br/>&gt; &gt;<br/>&gt; &gt; but that may trigger other errors/warnings in later code which will need<br/>&gt; &gt; attending to. (Same goes for the other hunk in the patch.)<br/>&gt; &gt;<br/>&gt; &gt; Could you give that a go?<br/>&gt;<br/>&gt; Have you seen my second attempt ? It&#39;s going along the clang line<br/>&gt; and seems much cleaner.<br/>&gt;<br/>&gt; --<br/>&gt; pi@opsec.eu +49 171 3101372 7 years to<br/>&gt; go !<br/>&gt;<br/><br/><br/><br/>-- <br/>Jonathan Leffler &lt;jonathan.leffler@gmail.com&gt; #include &lt;disclaimer.h&gt;<br/>Guardian of DBD::Informix - v2013.0521 - http://dbi.perl.org<br/>&quot;Blessed are we who can laugh at ourselves, for we shall never cease to be<br/>amused.&quot;<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36624.html Mon, 27 May 2013 18:19:26 +0000 Re: DBI Driver.xst and DBD::cego by Kurt Jaeger Hi!<br/><br/>Tim wrote:<br/>&gt; On Sun, May 26, 2013 at 08:13:58PM +0200, Kurt Jaeger wrote:<br/>&gt; &gt; https://rt.cpan.org/Ticket/Display.html?id=84285<br/>&gt; <br/>&gt; error: invalid conversion from &#39;const char*&#39; to &#39;char*&#39;<br/>&gt; <br/>&gt; I&#39;m surprised the compiler treats this as an error, it&#39;s normally a warning.<br/><br/>&gt; - char *plural = (DBIc_ACTIVE_KIDS(imp_dbh)==1) ? &quot;&quot; : &quot;s&quot;;<br/>&gt; + char *plural = (DBIc_ACTIVE_KIDS(imp_dbh)==1) ? (char*)&quot;&quot; : (char*)&quot;s&quot;;<br/><br/>clang++ is more strict 8-}<br/><br/>&gt; &gt; Can someone have a look at it ? Is that patch the right way to do it ?<br/>&gt; <br/>&gt; It would be better to put the const on the declaration in this case. I.e.:<br/>&gt; <br/>&gt; - char *plural = (DBIc_ACTIVE_KIDS(imp_dbh)==1) ? &quot;&quot; : &quot;s&quot;;<br/>&gt; + const char *plural = (DBIc_ACTIVE_KIDS(imp_dbh)==1) ? &quot;&quot; : &quot;s&quot;;<br/>&gt; <br/>&gt; but that may trigger other errors/warnings in later code which will need<br/>&gt; attending to. (Same goes for the other hunk in the patch.)<br/>&gt; <br/>&gt; Could you give that a go?<br/><br/>Have you seen my second attempt ? It&#39;s going along the clang line<br/>and seems much cleaner.<br/><br/>-- <br/>pi@opsec.eu +49 171 3101372 7 years to go !<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36623.html Mon, 27 May 2013 15:17:03 +0000 Re: DBI Driver.xst and DBD::cego by Tim Bunce Hi Kurt.<br/><br/>On Sun, May 26, 2013 at 08:13:58PM +0200, Kurt Jaeger wrote:<br/>&gt; https://rt.cpan.org/Ticket/Display.html?id=84285<br/><br/> error: invalid conversion from &#39;const char*&#39; to &#39;char*&#39;<br/><br/>I&#39;m surprised the compiler treats this as an error, it&#39;s normally a warning.<br/><br/>- char *plural = (DBIc_ACTIVE_KIDS(imp_dbh)==1) ? &quot;&quot; : &quot;s&quot;;<br/>+ char *plural = (DBIc_ACTIVE_KIDS(imp_dbh)==1) ? (char*)&quot;&quot; : (char*)&quot;s&quot;;<br/><br/>&gt; Can someone have a look at it ? Is that patch the right way to do it ?<br/><br/>It would be better to put the const on the declaration in this case. I.e.:<br/><br/>- char *plural = (DBIc_ACTIVE_KIDS(imp_dbh)==1) ? &quot;&quot; : &quot;s&quot;;<br/>+ const char *plural = (DBIc_ACTIVE_KIDS(imp_dbh)==1) ? &quot;&quot; : &quot;s&quot;;<br/><br/>but that may trigger other errors/warnings in later code which will need<br/>attending to. (Same goes for the other hunk in the patch.)<br/><br/>Could you give that a go?<br/><br/>Tim.<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36622.html Mon, 27 May 2013 15:10:57 +0000 DBI Driver.xst and DBD::cego by Kurt Jaeger Hi!<br/><br/>I try to maintain the FreeBSD port databases/p5-DBD-cego, and it<br/>has a problem if I compile it with clang.<br/><br/>http://www.freebsd.org/cgi/query-pr.cgi?pr=178755<br/><br/>I investigated and I think it is caused by issues in DBI, more<br/>exactly, issues in Driver.xst ? I made a first try on a fix in March,<br/>and a second one today:<br/><br/>https://rt.cpan.org/Ticket/Display.html?id=84285<br/><br/>Can someone have a look at it ? Is that patch the right way to do it ?<br/><br/>-- <br/>pi@opsec.eu +49 171 3101372 7 years to go !<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36621.html Sun, 26 May 2013 18:14:11 +0000 Re: DBI article in Korean by Martin J. Evans On 24/05/13 06:51, Gabor Szabo wrote:<br/>&gt; Hi,<br/>&gt;<br/>&gt; On Wed, May 22, 2013 at 10:08 PM, Martin J. Evans &lt;bohica@ntlworld.com&gt; wrote:<br/>&gt;<br/>&gt;&gt; Another good tutorial - please keep up the good work of promoting Perl.<br/>&gt;<br/>&gt; Thanks. I hope others will also help promoting my articles and interviews.<br/>&gt;<br/>&gt;&gt; &quot;The DSN (Data Source Name) (in the $dsn variable) is very straight forward.<br/>&gt;&gt; It contains the type of the database. That will be the clue to DBI which DBD<br/>&gt;&gt; to load. In case of SQLite, the only thing we really need is the path to the<br/>&gt;&gt; database file.&quot;<br/>&gt;&gt;<br/>&gt;&gt; It may be a language thing but it is hardly a &quot;clue&quot;. DBI clearly states the<br/>&gt;&gt; connection string is dbi:DRIVER_NAME:something_else and DRIVER_NAMEs are<br/>&gt;&gt; registered with DBI. Its also not always as &quot;straight forward&quot; as you<br/>&gt;&gt; suggest as the something_else is usually a &#39;;&#39; separated string of<br/>&gt;&gt; attributes and values e.g. &quot;DRIVER={this driver}&quot;.<br/>&gt;<br/>&gt; I know it can be more complex than my example, but I don&#39;t have to<br/>&gt; frighten away the reader :)<br/>&gt; I am confused with your comment about the word &quot;clue&quot;. Isn&#39;t the name<br/>&gt; of DBD::* derived from<br/>&gt; the DRIVER_NAME ? Or does clue mean something else then guiding information?<br/>&gt; Or do you mean that DRIVER_NAME is exact and a &quot;clue&quot; is only a direction?<br/><br/>I was only commenting on the use of the word &quot;clue&quot;.<br/>Clue is usually read a little like hint. A clue usually gives you some information but is not everything you need to know whereas the DRIVER_NAME is everything.<br/><br/>&gt;<br/>&gt;&gt; &quot;The call to disconnect from the database is optional as it will<br/>&gt;&gt; automatically be called when the variable $dbh goes out of scope, but it<br/>&gt;&gt; having it might be a clear indication for the next programmer dealing with<br/>&gt;&gt; this code, that you are done with the database. &quot;<br/>&gt;&gt;<br/>&gt;&gt; There are a number of gotchas with this. You may still have a select<br/>&gt;&gt; statement active where you&#39;ve not fetched all the rows yet from the cursor<br/>&gt;&gt; in which case you&#39;ll get a warning. Also, you may be in the middle of a<br/>&gt;&gt; transaction and in that case the transaction may be rolled back.<br/>&gt;<br/>&gt; Are these gotchas different in case $dbh goes out of scope and when I<br/>&gt; call $dbh-&gt;disconnect ?<br/><br/>I&#39;m afraid so because in one case the DBD knows and in the other case it doesn&#39;t. Then there is PrintWarn and Warn.<br/><br/>use 5.010;<br/>use strict;<br/>use warnings;<br/>use DBI;<br/><br/>my $h = DBI-&gt;connect(&quot;dbi:ODBC:baugi&quot;, &quot;xx&quot;, &quot;yy&quot;,<br/> {RaiseError =&gt; 1, PrintError =&gt; 0, PrintWarn =&gt; 0});<br/>eval {<br/> $h-&gt;do(q/drop table mje/);<br/>};<br/><br/>$h-&gt;do(q/create table mje (a integer)/);<br/>my $s = $h-&gt;prepare(q/insert into mje values(?)/);<br/>$s-&gt;execute_array(undef, [1,2,3,4,5]);<br/><br/>$h-&gt;disconnect;<br/><br/>doit(Disconnect =&gt; 1, PrintWarn =&gt; 1, Warn =&gt; 1, Txn =&gt; 0);<br/>doit(Disconnect =&gt; 0, PrintWarn =&gt; 1, Warn =&gt; 1, Txn =&gt; 0);<br/>doit(Disconnect =&gt; 1, PrintWarn =&gt; 1, Warn =&gt; 0, Txn =&gt; 0);<br/>doit(Disconnect =&gt; 1, PrintWarn =&gt; 1, Warn =&gt; 1, Txn =&gt; 1);<br/>doit(Disconnect =&gt; 0, PrintWarn =&gt; 1, Warn =&gt; 1, Txn =&gt; 1);<br/>doit(Disconnect =&gt; 1, PrintWarn =&gt; 1, Warn =&gt; 0, Txn =&gt; 1);<br/><br/>sub doit {<br/> my %args = @_;<br/><br/> say &quot;Disconnect=$args{Disconnect}, PrintWarn=$args{PrintWarn}, &quot;,<br/> &quot;Warn=$args{Warn}, &quot;,<br/> ($args{Txn} ? &quot;Uncommitted txn&quot; : &quot;Unfinished select&quot;);<br/><br/> my $h = DBI-&gt;connect(&quot;dbi:ODBC:baugi&quot;, &quot;xx&quot;, &quot;yy&quot;,<br/> {RaiseError =&gt; 1, PrintError =&gt; 0,<br/> PrintWarn =&gt; $args{PrintWarn}});<br/> $h-&gt;{Warn} = $args{Warn};<br/><br/> my $s;<br/> if ($args{Txn}) {<br/> $h-&gt;{AutoCommit} = 0;<br/> $s = $h-&gt;prepare(q/delete from mje where a = ?/);<br/> $s-&gt;execute(1);<br/> } else {<br/> $s = $h-&gt;prepare(q/select * from mje/);<br/> $s-&gt;execute;<br/> $s-&gt;fetch;<br/> }<br/><br/> if ($args{Disconnect}) {<br/> say &quot; Disconnecting with Warn=$args{Warn}, PrintWarn=$args{PrintWarn}&quot;;<br/> $h-&gt;disconnect;<br/> } else {<br/> say &quot; connection handle going out of scope&quot;;<br/> }<br/>}<br/><br/>produces:<br/><br/>Disconnect=1, PrintWarn=1, Warn=1, Unfinished select<br/> Disconnecting with Warn=1, PrintWarn=1<br/>DBI::db=HASH(0x89ac660)-&gt;disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at /tmp/x.pl line 50.<br/>Disconnect=0, PrintWarn=1, Warn=1, Unfinished select<br/> connection handle going out of scope<br/>Disconnect=1, PrintWarn=1, Warn=0, Unfinished select<br/> Disconnecting with Warn=0, PrintWarn=1<br/>Disconnect=1, PrintWarn=1, Warn=1, Uncommitted txn<br/> Disconnecting with Warn=1, PrintWarn=1<br/>DBD::ODBC::db disconnect warning: Disconnect with transaction in progress - rolling back at /tmp/x.pl line 50.<br/>Disconnect=0, PrintWarn=1, Warn=1, Uncommitted txn<br/> connection handle going out of scope<br/>Issuing rollback() due to DESTROY without explicit disconnect() of DBD::ODBC::db handle baugi at /tmp/x.pl line 22.<br/>Disconnect=1, PrintWarn=1, Warn=0, Uncommitted txn<br/> Disconnecting with Warn=0, PrintWarn=1<br/>DBD::ODBC::db disconnect warning: Disconnect with transaction in progress - rolling back at /tmp/x.pl line 50.<br/><br/>Note how connection handle going out of scope when an unfinished select does not generate anything but calling disconnect does and then specifically calling disconnect but disabling Warn hides the warning.<br/><br/>Note for the txn example, in the first case when you call disconnect it gets to the DBD which knows you have a txn in progress so it rolls it back (note the DBD::ODBC in the message) but when the connection handle goes out of scope DBI sees that and explicitly issues a rollback.<br/><br/>I&#39;m not too sure the above is totally consistent now I&#39;ve done this experiment.<br/><br/>&gt;<br/>&gt;&gt; &quot;INSERT&quot;<br/>&gt;&gt; &quot;UPDATE&quot;<br/>&gt;<br/>&gt; Clearly, I&#39;ll need more articles explaining database handling in more detail.<br/>&gt; The thing is, I don&#39;t want to overwhelm the readers by giving them<br/>&gt; all the examples and explanations at once.<br/><br/>It was the insert into a table with 4 columns but only 3 parameters that I thought would confuse. Why not have 3 columns and 3 parameters.<br/><br/>&gt;<br/>&gt;&gt; &quot;This is by far the most interesting part of the database access. As the<br/>&gt;&gt; SELECT statement can return a lot of rows and a lot of values in each row we<br/>&gt;&gt; cannot use a simple call to the do method. &quot;<br/>&gt;&gt;<br/>&gt;&gt; Some DBDs really dislike using the do method for select stmts and especially<br/>&gt;&gt; multiple stmts in the same SQL e.g., do(q/something; select something from<br/>&gt;&gt; something/);<br/>&gt;<br/>&gt; I have not encountered that, but then I don&#39;t think I ever used do for<br/>&gt; SELECT and<br/>&gt; I think I use multiple SQL statements in one dbi call very rarely, if at all.<br/>&gt;<br/>&gt; Surely an article about this could be interesting. I wonder who would<br/>&gt; want to write it?<br/>&gt; (hint hint :)<br/><br/>I already have written a number of articles:<br/><br/>Perl DBI/DBD::ODBC Tutorial Part 1 - Drivers, Data Sources and Connection:<br/><br/>http://www.easysoft.com/developer/languages/perl/dbd_odbc_tutorial_part_1.html<br/><br/>Perl DBI/DBD::ODBC Tutorial Part 2 - Introduction to retrieving data from your database:<br/><br/>http://www.easysoft.com/developer/languages/perl/dbd_odbc_tutorial_part_2.html<br/><br/>Perl DBI/DBD::ODBC Tutorial Part 3 - Connecting Perl on UNIX or Linux to Microsoft SQL Server:<br/><br/>http://www.easysoft.com/developer/languages/perl/sql_server_unix_tutorial.html<br/><br/>Perl DBI - Put Your Data On The Web:<br/><br/>http://www.easysoft.com/developer/languages/perl/tutorial_data_web.html<br/><br/>Debugging Perl DBI:<br/><br/>http://www.easysoft.com/developer/languages/perl/dbi-debugging.html<br/><br/>Plus a few others on my personal web site.<br/><br/>Martin<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36620.html Fri, 24 May 2013 09:38:01 +0000 Re: DBI article in Korean by Gabor Szabo Hi,<br/><br/>On Wed, May 22, 2013 at 10:08 PM, Martin J. Evans &lt;bohica@ntlworld.com&gt; wrote:<br/><br/>&gt; Another good tutorial - please keep up the good work of promoting Perl.<br/><br/>Thanks. I hope others will also help promoting my articles and interviews.<br/><br/>&gt; &quot;The DSN (Data Source Name) (in the $dsn variable) is very straight forward.<br/>&gt; It contains the type of the database. That will be the clue to DBI which DBD<br/>&gt; to load. In case of SQLite, the only thing we really need is the path to the<br/>&gt; database file.&quot;<br/>&gt;<br/>&gt; It may be a language thing but it is hardly a &quot;clue&quot;. DBI clearly states the<br/>&gt; connection string is dbi:DRIVER_NAME:something_else and DRIVER_NAMEs are<br/>&gt; registered with DBI. Its also not always as &quot;straight forward&quot; as you<br/>&gt; suggest as the something_else is usually a &#39;;&#39; separated string of<br/>&gt; attributes and values e.g. &quot;DRIVER={this driver}&quot;.<br/><br/>I know it can be more complex than my example, but I don&#39;t have to<br/>frighten away the reader :)<br/>I am confused with your comment about the word &quot;clue&quot;. Isn&#39;t the name<br/>of DBD::* derived from<br/>the DRIVER_NAME ? Or does clue mean something else then guiding information?<br/>Or do you mean that DRIVER_NAME is exact and a &quot;clue&quot; is only a direction?<br/><br/><br/>&gt; &quot;The call to disconnect from the database is optional as it will<br/>&gt; automatically be called when the variable $dbh goes out of scope, but it<br/>&gt; having it might be a clear indication for the next programmer dealing with<br/>&gt; this code, that you are done with the database. &quot;<br/>&gt;<br/>&gt; There are a number of gotchas with this. You may still have a select<br/>&gt; statement active where you&#39;ve not fetched all the rows yet from the cursor<br/>&gt; in which case you&#39;ll get a warning. Also, you may be in the middle of a<br/>&gt; transaction and in that case the transaction may be rolled back.<br/><br/>Are these gotchas different in case $dbh goes out of scope and when I<br/>call $dbh-&gt;disconnect ?<br/><br/><br/>&gt; &quot;INSERT&quot;<br/>&gt; &quot;UPDATE&quot;<br/><br/>Clearly, I&#39;ll need more articles explaining database handling in more detail.<br/>The thing is, I don&#39;t want to overwhelm the readers by giving them<br/>all the examples and explanations at once.<br/><br/><br/>&gt; &quot;This is by far the most interesting part of the database access. As the<br/>&gt; SELECT statement can return a lot of rows and a lot of values in each row we<br/>&gt; cannot use a simple call to the do method. &quot;<br/>&gt;<br/>&gt; Some DBDs really dislike using the do method for select stmts and especially<br/>&gt; multiple stmts in the same SQL e.g., do(q/something; select something from<br/>&gt; something/);<br/><br/>I have not encountered that, but then I don&#39;t think I ever used do for<br/>SELECT and<br/>I think I use multiple SQL statements in one dbi call very rarely, if at all.<br/><br/>Surely an article about this could be interesting. I wonder who would<br/>want to write it?<br/>(hint hint :)<br/><br/>regards<br/> Gabor<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36619.html Fri, 24 May 2013 05:51:47 +0000 RE: DBD installtion 11G R2 (64Bit) & 32 bit perl version by John Scoles <br/> That will be a bit of a problem and a bugger to fix.<br/> <br/>I can only offer a general solution as each case is different but the short answer is yes you can run 32bit perl and 64 bit oracle together.<br/> <br/>1) you have to get the 32bit oracle instant client for the version of oracle you want to use<br/>2) that 32 bit client has to work on the 32 bit platform (test this with the sqlplus that come with it)<br/>3) you will have to recompile reinstall your DBD for the 32 bit instanctclient with &#39;make&#39; <br/>4) when you run your perl make sure it uses the ORACLE_HOME of the 32 bit instant client<br/> <br/>cheers<br/>John<br/> <br/> <br/>From: anoop.kumar@nawras.om<br/>To: dbi-users@perl.org<br/>CC: goran@bildbasen.kiruna.se; jliptak@coefmd3.uswc.uswest.com; z50816@mip.lasc.lockheed.com; verbrug@be.oracle.com; mouche@hometown.com; stephen.zander@mckesson.com; earle.nietzel@es.unisys.com; descarte@hermetica.com; carlson@tis.llnl.gov; dbox@fndapl.fnal.gov; aslookin@alfabank.ru; timb@cpan.org; byterock@cpan.org; yanick@cpan.org; mjevans@cpan.org<br/>Subject: RE: DBD installtion 11G R2 (64Bit) &amp; 32 bit perl version<br/>Date: Thu, 23 May 2013 14:03:09 +0000<br/><br/><br/><br/><br/><br/><br/><br/><br/>Hi Support,<br/> <br/>Please help me to solve this..<br/> <br/>LD_RUN_PATH=&quot;/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib&quot; ld -bhalt:4 -G -bI:/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE/perl.exp -bE:Oracle.exp -bnoentry -lpthreads -lc -lm -L/usr/local/lib Oracle.o dbdimp.o <br/> oci8.o /lib/crt0_64.o -o blib/arch/auto/DBD/Oracle/Oracle.so -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lclntsh -lld -lm -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads <br/><br/>ld: 0711-736 ERROR: Input file /lib/crt0_64.o:<br/> XCOFF64 object files are not allowed in 32-bit mode.<br/>make: 1254-004 The error code from the last command is 8.<br/> <br/> <br/>Stop.<br/> <br/> <br/>After researching I could find this ,, But issue is that with 11gR2 onwards lib32 is not installing by default so need to install and configure seperatly its very difficuilt task for DBA..<br/> <br/>Is DBD 64bit is available??<br/> <br/>The problem looks like Perl and DBI run in 32-bit mode, but Oracle 9i<br/>installs<br/>as<br/>64-bit. (Oracle 8 installed as 32-bit.) I saved the following email<br/>with the<br/>solution<br/>in my bag of tricks. This message was for Solaris, which is what I am<br/>using.<br/>A<br/>week or so ago, it also worked for hpux. Hopefully it will work for you<br/>on<br/>AIX.<br/>=================================<br/>Our solution: &lt;bit-time-kludge&gt;<br/>afer Makefile.PL creates the makefile, edit it in vi.<br/>Replace &#39;911/lib&#39; with &#39;911/lib32&#39; everywhere<br/>Replace &#39;rdbms/lib&#39; with &#39;rdbms/lib32&#39; everywhere.<br/>Then do your make.<br/>To really fix this will take someone who knows Makefile.PL to apply a<br/>patch<br/>detect the 64bit version of Oracle9i(the presense of lib32&#39;s is a tip<br/>off).<br/>In the mean time we applied a quick script to do it in our<br/><br/>install/distribution scripts.<br/><br/> <br/> <br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/> <br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/>From: Anoop Kumar Paramesweran<br/><br/><br/>Sent: Thursday, May 23, 2013 4:25 PM<br/><br/>To: &#39;dbi-users@perl.org&#39;<br/><br/>Subject: DBD error<br/><br/><br/> <br/> Hi Support,<br/> <br/>I am receiving following error while installing DBD Perl module on IBM AIX 7.1 .Please help me to solve this..<br/> <br/>bash-3.2# perl Makefile.PL <br/>Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/<br/> <br/>Configuring DBD::Oracle for perl 5.010001 on aix (aix-thread-multi)<br/> <br/>Remember to actually *READ* the README file! Especially if you have any problems.<br/> <br/>Installing on a aix, Ver#5.3<br/>Using Oracle in /u01/app/oracle/product/11.2.0/dbhome_1<br/>DEFINE _SQLPLUS_RELEASE = &quot;1102000300&quot; (CHAR)<br/>Oracle version 11.2.0.3 (11.2)<br/>Found /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/>Using /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/>Your LIBPATH env var is set to &#39;/u01/app/oracle/product/11.2.0/dbhome_1/lib&#39;<br/>Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/>Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk<br/>Deleting -b64 from COMPOBJS because -b64 doesn&#39;t exist.<br/>WARNING: Oracle /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk doesn&#39;t define a &#39;build&#39; rule.<br/> <br/>WARNING: I will now try to guess how to build and link DBD::Oracle for you.<br/> This kind of guess work is very error prone and Oracle-version sensitive.<br/> It is possible that it won&#39;t be supported in future versions of DBD::Oracle.<br/> *PLEASE* notify dbi-users about exactly _why_ you had to build it this way.<br/> <br/>Found header files in /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public.<br/> <br/>client_version=11.2<br/> <br/> <br/>DEFINE= -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112<br/> <br/> <br/>Checking for functioning wait.ph<br/> <br/> <br/>System: perl5.010001 aix dennis01 3 5 00c72e9a4c00 <br/>Compiler: xlc_r -q32 -O -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong<br/>Linker: /usr/bin/ld<br/>Sysliblist: /lib/crt0_64.o -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat<br/><br/>Oracle makefiles would have used these definitions but we override them:<br/> CC: $(ORACLE_HOME)/bin/oraxlc $(ORAXLCFLAGS)<br/> CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\<br/> $(SHARED_CFLAG) $(USRFLAGS)<br/> [$(GFLAG) -O3 $(CDEBUG) -q64 -DSS_64BIT_SERVER -qwarn64 -qinfo=uni -DAIXRIOS -qflag=s:s -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public<br/> -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -DLDAP_CM $(LPFLAGS) $(PLSQLNCGFLAGS) $(USRFLAGS)]<br/> LDFLAGS: -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME)<br/> [-o $@ -L/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -L$(LIBHOME)]<br/>Linking with /lib/crt0_64.o -lclntsh -brtl -lld -lm -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads [from $(OCISHAREDLIBS)]<br/> <br/> <br/>WARNING: You will may need to rebuild perl using the xlc_r compiler.<br/> The important thing is that perl and DBD::Oracle be built with the same compiler.<br/> You may also need to: ORACCENV=&#39;cc=xlc_r&#39;; export ORACCENV<br/> Also see README.aix for gcc instructions and read about the -p option.<br/>Unrecognized argument in LIBS ignored: &#39;-brtl&#39;<br/>LD_RUN_PATH=/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib<br/>Using DBD::Oracle 1.62.<br/>Using DBD::Oracle 1.62.<br/>Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/<br/>Writing Makefile for DBD::Oracle<br/> <br/>*** If you have problems...<br/> read all the log printed above, and the README and README.help.txt files.<br/> (Of course, you have read README by now anyway, haven&#39;t you?)<br/> <br/>bash-3.2# make <br/>cp lib/DBD/Oracle/Troubleshooting/Cygwin.pod blib/lib/DBD/Oracle/Troubleshooting/Cygwin.pod<br/>cp lib/DBD/Oracle.pm blib/lib/DBD/Oracle.pm<br/>cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h<br/>cp lib/DBD/Oracle/Troubleshooting/Vms.pod blib/lib/DBD/Oracle/Troubleshooting/Vms.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Hpux.pod blib/lib/DBD/Oracle/Troubleshooting/Hpux.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Linux.pod blib/lib/DBD/Oracle/Troubleshooting/Linux.pod<br/>cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm<br/>cp lib/DBD/Oracle/Troubleshooting.pod blib/lib/DBD/Oracle/Troubleshooting.pod<br/>cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h<br/>cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h<br/>cp lib/DBD/Oracle/Troubleshooting/Sun.pod blib/lib/DBD/Oracle/Troubleshooting/Sun.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Macos.pod blib/lib/DBD/Oracle/Troubleshooting/Macos.pod<br/>cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm<br/>cp lib/DBD/Oracle/Troubleshooting/Aix.pod blib/lib/DBD/Oracle/Troubleshooting/Aix.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Win64.pod blib/lib/DBD/Oracle/Troubleshooting/Win64.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Win32.pod blib/lib/DBD/Oracle/Troubleshooting/Win32.pod<br/>cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm<br/> /usr/bin/perl -e &#39;use ExtUtils::Mksymlists; Mksymlists(&quot;NAME&quot; =&gt; &quot;DBD::Oracle&quot;, &quot;DL_FUNCS&quot; =&gt; { }, &quot;FUNCLIST&quot; =&gt; [], &quot;DL_VARS&quot; =&gt; []);&#39;<br/> /usr/bin/perl -p -e &quot;s/~DRIVER~/Oracle/g&quot; /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/Driver.xst &gt; Oracle.xsi<br/> /usr/bin/perl /usr/opt/perl5/lib/5.10.1/ExtUtils/xsubpp -typemap /usr/opt/perl5/lib/5.10.1/ExtUtils/typemap -typemap typemap Oracle.xs &gt; Oracle.xsc &amp;&amp; mv Oracle.xsc Oracle.c<br/> xlc_r -q32 -c -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public<br/> -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include<br/> -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\&quot;1.62\&quot; -DXS_VERSION=\&quot;1.62\&quot; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112 Oracle.c<br/> xlc_r -q32 -c -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public<br/> -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include<br/> -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\&quot;1.62\&quot; -DXS_VERSION=\&quot;1.62\&quot; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112 dbdimp.c<br/> xlc_r -q32 -c -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public<br/> -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include<br/> -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\&quot;1.62\&quot; -DXS_VERSION=\&quot;1.62\&quot; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112 oci8.c<br/>Running Mkbootstrap for DBD::Oracle ()<br/> chmod 644 Oracle.bs<br/> rm -f blib/arch/auto/DBD/Oracle/Oracle.so<br/> <br/>LD_RUN_PATH=&quot;/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib&quot; ld -bhalt:4 -G -bI:/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE/perl.exp -bE:Oracle.exp -bnoentry -lpthreads -lc -lm -L/usr/local/lib Oracle.o dbdimp.o <br/> oci8.o /lib/crt0_64.o -o blib/arch/auto/DBD/Oracle/Oracle.so -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lclntsh -lld -lm -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads <br/><br/>ld: 0711-736 ERROR: Input file /lib/crt0_64.o:<br/> XCOFF64 object files are not allowed in 32-bit mode.<br/>make: 1254-004 The error code from the last command is 8.<br/> <br/> <br/>Stop.<br/>bash-3.2# echo $ LD_RUN_PATH<br/>$ LD_RUN_PATH<br/>bash-3.2# echo $LD_RUN_PATH<br/> <br/>bash-3.2#<br/> <br/> <br/> <br/><br/>This e-mail including any attachment is intended only for the recipient(s) named. It may contain confidential information and should not be read, copied or otherwise used by any other person. If you are not a named recipient, please contact the sender and delete<br/> the e-mail from your system. The sender does not accept any liability for errors or omissions in the content of this message or for viruses, or any damage due to the e-mail. The recipient is advised to have appropriate virus check software <br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36618.html Thu, 23 May 2013 17:32:55 +0000 Re: DBD installtion 11G R2 (64Bit) & 32 bit perl version by Jonathan Leffler You will need a 64-bit Perl (and 64-bit DBI) to work with 64-bit Oracle and<br/>hence 64-bit DBD::Oracle.<br/><br/>Or you can go 32-bit for everything if there&#39;s a 32-bit Oracle client you<br/>can install.<br/><br/>What you can&#39;t do is have some 32-bit code and some 64-bit code built into<br/>(or loaded into, since most of this is dynamically loaded) the same<br/>executable. All 32-bit or all 64-bit; not a mixture.<br/><br/><br/>(Addressee list trimmed.)<br/><br/><br/><br/>On Thu, May 23, 2013 at 7:03 AM, Anoop Kumar Paramesweran &lt;<br/>anoop.kumar@nawras.om&gt; wrote:<br/><br/>&gt; Hi Support,<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; Please help me to solve this..<br/>&gt;<br/>&gt; LD_RUN_PATH=&quot;/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib&quot;<br/>&gt; ld -bhalt:4 -G<br/>&gt; -bI:/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE/perl.exp -bE:Oracle.exp<br/>&gt; -bnoentry -lpthreads -lc -lm -L/usr/local/lib Oracle.o dbdimp.o oci8.o<br/>&gt; /lib/crt0_64.o -o blib/arch/auto/DBD/Oracle/Oracle.so<br/>&gt; -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lclntsh -lld -lm -ldl -lc<br/>&gt; -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads<br/>&gt;<br/>&gt; ld: 0711-736 ERROR: Input file /lib/crt0_64.o:<br/>&gt;<br/>&gt; XCOFF64 object files are not allowed in 32-bit mode.<br/>&gt;<br/>&gt; make: 1254-004 The error code from the last command is 8.<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; Stop.<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; After researching I could find this ,, But issue is that with 11gR2<br/>&gt; onwards lib32 is not installing by default so need to install and configure<br/>&gt; seperatly its very difficuilt task for DBA..<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; Is DBD 64bit is available??<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; The problem looks like Perl and DBI run in 32-bit mode, but Oracle 9i<br/>&gt;<br/>&gt; installs<br/>&gt;<br/>&gt; as<br/>&gt;<br/>&gt; 64-bit. (Oracle 8 installed as 32-bit.) I saved the following email<br/>&gt;<br/>&gt; with the<br/>&gt;<br/>&gt; solution<br/>&gt;<br/>&gt; in my bag of tricks. This message was for Solaris, which is what I am<br/>&gt;<br/>&gt; using.<br/>&gt;<br/>&gt; A<br/>&gt;<br/>&gt; week or so ago, it also worked for hpux. Hopefully it will work for you<br/>&gt;<br/>&gt; on<br/>&gt;<br/>&gt; AIX.<br/>&gt;<br/>&gt; =================================<br/>&gt;<br/>&gt; Our solution: &lt;bit-time-kludge&gt;<br/>&gt;<br/>&gt; afer Makefile.PL creates the makefile, edit it in vi.<br/>&gt;<br/>&gt; Replace &#39;911/lib&#39; with &#39;911/lib32&#39; everywhere<br/>&gt;<br/>&gt; Replace &#39;rdbms/lib&#39; with &#39;rdbms/lib32&#39; everywhere.<br/>&gt;<br/>&gt; Then do your make.<br/>&gt;<br/>&gt; To really fix this will take someone who knows Makefile.PL to apply a<br/>&gt;<br/>&gt; patch<br/>&gt;<br/>&gt; detect the 64bit version of Oracle9i(the presense of lib32&#39;s is a tip<br/>&gt;<br/>&gt; off).<br/>&gt;<br/>&gt; In the mean time we applied a quick script to do it in our<br/>&gt;<br/>&gt; install/distribution scripts.<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; *From:* Anoop Kumar Paramesweran<br/>&gt; *Sent:* Thursday, May 23, 2013 4:25 PM<br/>&gt; *To:* &#39;dbi-users@perl.org&#39;<br/>&gt; *Subject:* DBD error<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; Hi Support,<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; I am receiving following error while installing DBD Perl module on IBM AIX<br/>&gt; 7.1 .Please help me to solve this..<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; bash-3.2# perl Makefile.PL<br/>&gt;<br/>&gt; Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in<br/>&gt; /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; Configuring DBD::Oracle for perl 5.010001 on aix (aix-thread-multi)<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; Remember to actually *READ* the README file! Especially if you have any<br/>&gt; problems.<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; Installing on a aix, Ver#5.3<br/>&gt;<br/>&gt; Using Oracle in /u01/app/oracle/product/11.2.0/dbhome_1<br/>&gt;<br/>&gt; DEFINE _SQLPLUS_RELEASE = &quot;1102000300&quot; (CHAR)<br/>&gt;<br/>&gt; Oracle version 11.2.0.3 (11.2)<br/>&gt;<br/>&gt; Found /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/>&gt;<br/>&gt; Using /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/>&gt;<br/>&gt; Your LIBPATH env var is set to<br/>&gt; &#39;/u01/app/oracle/product/11.2.0/dbhome_1/lib&#39;<br/>&gt;<br/>&gt; Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/>&gt;<br/>&gt; Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk<br/>&gt;<br/>&gt; Deleting -b64 from COMPOBJS because -b64 doesn&#39;t exist.<br/>&gt;<br/>&gt; WARNING: Oracle /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/<br/>&gt; ins_rdbms.mk doesn&#39;t define a &#39;build&#39; rule.<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; WARNING: I will now try to guess how to build and link DBD::Oracle for you.<br/>&gt;<br/>&gt; This kind of guess work is very error prone and Oracle-version<br/>&gt; sensitive.<br/>&gt;<br/>&gt; It is possible that it won&#39;t be supported in future versions of<br/>&gt; DBD::Oracle.<br/>&gt;<br/>&gt; *PLEASE* notify dbi-users about exactly _why_ you had to build it<br/>&gt; this way.<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; Found header files in /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public.<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; client_version=11.2<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; DEFINE= -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102<br/>&gt; -DORA_OCI_112<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; Checking for functioning wait.ph<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; System: perl5.010001 aix dennis01 3 5 00c72e9a4c00<br/>&gt;<br/>&gt; Compiler: xlc_r -q32 -O -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE<br/>&gt; -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT<br/>&gt; -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong<br/>&gt;<br/>&gt; Linker: /usr/bin/ld<br/>&gt;<br/>&gt; Sysliblist: /lib/crt0_64.o -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld<br/>&gt; -lperfstat<br/>&gt;<br/>&gt; Oracle makefiles would have used these definitions but we override them:<br/>&gt;<br/>&gt; CC: $(ORACLE_HOME)/bin/oraxlc $(ORAXLCFLAGS)<br/>&gt;<br/>&gt; CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\<br/>&gt;<br/>&gt; $(SHARED_CFLAG) $(USRFLAGS)<br/>&gt;<br/>&gt; [$(GFLAG) -O3 $(CDEBUG) -q64 -DSS_64BIT_SERVER -qwarn64<br/>&gt; -qinfo=uni -DAIXRIOS -qflag=s:s<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -DLDAP_CM<br/>&gt; $(LPFLAGS) $(PLSQLNCGFLAGS) $(USRFLAGS)]<br/>&gt;<br/>&gt; LDFLAGS: -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME)<br/>&gt;<br/>&gt; [-o $@ -L/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/<br/>&gt; -L$(LIBHOME)]<br/>&gt;<br/>&gt; Linking with /lib/crt0_64.o -lclntsh -brtl -lld -lm -ldl -lc -lm<br/>&gt; -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads [from<br/>&gt; $(OCISHAREDLIBS)]<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; WARNING: You will may need to rebuild perl using the xlc_r compiler.<br/>&gt;<br/>&gt; The important thing is that perl and DBD::Oracle be built with<br/>&gt; the same compiler.<br/>&gt;<br/>&gt; You may also need to: ORACCENV=&#39;cc=xlc_r&#39;; export ORACCENV<br/>&gt;<br/>&gt; Also see README.aix for gcc instructions and read about the -p<br/>&gt; option.<br/>&gt;<br/>&gt; Unrecognized argument in LIBS ignored: &#39;-brtl&#39;<br/>&gt;<br/>&gt;<br/>&gt; LD_RUN_PATH=/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib<br/>&gt;<br/>&gt; Using DBD::Oracle 1.62.<br/>&gt;<br/>&gt; Using DBD::Oracle 1.62.<br/>&gt;<br/>&gt; Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in<br/>&gt; /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/<br/>&gt;<br/>&gt; Writing Makefile for DBD::Oracle<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; *** If you have problems...<br/>&gt;<br/>&gt; read all the log printed above, and the README and README.help.txt<br/>&gt; files.<br/>&gt;<br/>&gt; (Of course, you have read README by now anyway, haven&#39;t you?)<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; bash-3.2# make<br/>&gt;<br/>&gt; cp lib/DBD/Oracle/Troubleshooting/Cygwin.pod<br/>&gt; blib/lib/DBD/Oracle/Troubleshooting/Cygwin.pod<br/>&gt;<br/>&gt; cp lib/DBD/Oracle.pm blib/lib/DBD/Oracle.pm<br/>&gt;<br/>&gt; cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h<br/>&gt;<br/>&gt; cp lib/DBD/Oracle/Troubleshooting/Vms.pod<br/>&gt; blib/lib/DBD/Oracle/Troubleshooting/Vms.pod<br/>&gt;<br/>&gt; cp lib/DBD/Oracle/Troubleshooting/Hpux.pod<br/>&gt; blib/lib/DBD/Oracle/Troubleshooting/Hpux.pod<br/>&gt;<br/>&gt; cp lib/DBD/Oracle/Troubleshooting/Linux.pod<br/>&gt; blib/lib/DBD/Oracle/Troubleshooting/Linux.pod<br/>&gt;<br/>&gt; cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm<br/>&gt;<br/>&gt; cp lib/DBD/Oracle/Troubleshooting.pod<br/>&gt; blib/lib/DBD/Oracle/Troubleshooting.pod<br/>&gt;<br/>&gt; cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h<br/>&gt;<br/>&gt; cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h<br/>&gt;<br/>&gt; cp lib/DBD/Oracle/Troubleshooting/Sun.pod<br/>&gt; blib/lib/DBD/Oracle/Troubleshooting/Sun.pod<br/>&gt;<br/>&gt; cp lib/DBD/Oracle/Troubleshooting/Macos.pod<br/>&gt; blib/lib/DBD/Oracle/Troubleshooting/Macos.pod<br/>&gt;<br/>&gt; cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm<br/>&gt;<br/>&gt; cp lib/DBD/Oracle/Troubleshooting/Aix.pod<br/>&gt; blib/lib/DBD/Oracle/Troubleshooting/Aix.pod<br/>&gt;<br/>&gt; cp lib/DBD/Oracle/Troubleshooting/Win64.pod<br/>&gt; blib/lib/DBD/Oracle/Troubleshooting/Win64.pod<br/>&gt;<br/>&gt; cp lib/DBD/Oracle/Troubleshooting/Win32.pod<br/>&gt; blib/lib/DBD/Oracle/Troubleshooting/Win32.pod<br/>&gt;<br/>&gt; cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm<br/>&gt;<br/>&gt; /usr/bin/perl -e &#39;use ExtUtils::Mksymlists; Mksymlists(&quot;NAME&quot; =&gt;<br/>&gt; &quot;DBD::Oracle&quot;, &quot;DL_FUNCS&quot; =&gt; { }, &quot;FUNCLIST&quot; =&gt; [], &quot;DL_VARS&quot; =&gt; []);&#39;<br/>&gt;<br/>&gt; /usr/bin/perl -p -e &quot;s/~DRIVER~/Oracle/g&quot;<br/>&gt; /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/Driver.xst &gt;<br/>&gt; Oracle.xsi<br/>&gt;<br/>&gt; /usr/bin/perl /usr/opt/perl5/lib/5.10.1/ExtUtils/xsubpp -typemap<br/>&gt; /usr/opt/perl5/lib/5.10.1/ExtUtils/typemap -typemap typemap Oracle.xs &gt;<br/>&gt; Oracle.xsc &amp;&amp; mv Oracle.xsc Oracle.c<br/>&gt;<br/>&gt; xlc_r -q32 -c<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public<br/>&gt; -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI<br/>&gt; -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias<br/>&gt; -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended<br/>&gt; -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong -O<br/>&gt; -DVERSION=\&quot;1.62\&quot; -DXS_VERSION=\&quot;1.62\&quot;<br/>&gt; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; -DUTF8_SUPPORT<br/>&gt; -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112 Oracle.c<br/>&gt;<br/>&gt; xlc_r -q32 -c<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public<br/>&gt; -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI<br/>&gt; -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias<br/>&gt; -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended<br/>&gt; -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong -O<br/>&gt; -DVERSION=\&quot;1.62\&quot; -DXS_VERSION=\&quot;1.62\&quot;<br/>&gt; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; -DUTF8_SUPPORT<br/>&gt; -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112 dbdimp.c<br/>&gt;<br/>&gt; xlc_r -q32 -c<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public<br/>&gt; -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public<br/>&gt; -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI<br/>&gt; -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias<br/>&gt; -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended<br/>&gt; -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong -O<br/>&gt; -DVERSION=\&quot;1.62\&quot; -DXS_VERSION=\&quot;1.62\&quot;<br/>&gt; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; -DUTF8_SUPPORT<br/>&gt; -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112 oci8.c<br/>&gt;<br/>&gt; Running Mkbootstrap for DBD::Oracle ()<br/>&gt;<br/>&gt; chmod 644 Oracle.bs<br/>&gt;<br/>&gt; rm -f blib/arch/auto/DBD/Oracle/Oracle.so<br/>&gt;<br/>&gt; LD_RUN_PATH=&quot;/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib&quot;<br/>&gt; ld -bhalt:4 -G<br/>&gt; -bI:/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE/perl.exp -bE:Oracle.exp<br/>&gt; -bnoentry -lpthreads -lc -lm -L/usr/local/lib Oracle.o dbdimp.o oci8.o<br/>&gt; /lib/crt0_64.o -o blib/arch/auto/DBD/Oracle/Oracle.so<br/>&gt; -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lclntsh -lld -lm -ldl -lc<br/>&gt; -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads<br/>&gt;<br/>&gt; ld: 0711-736 ERROR: Input file /lib/crt0_64.o:<br/>&gt;<br/>&gt; XCOFF64 object files are not allowed in 32-bit mode.<br/>&gt;<br/>&gt; make: 1254-004 The error code from the last command is 8.<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; Stop.<br/>&gt;<br/>&gt; bash-3.2# echo $ LD_RUN_PATH<br/>&gt;<br/>&gt; $ LD_RUN_PATH<br/>&gt;<br/>&gt; bash-3.2# echo $LD_RUN_PATH<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; bash-3.2#<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; This e-mail including any attachment is intended only for the<br/>&gt; recipient(s) named. It may contain confidential information and should not<br/>&gt; be read, copied or otherwise used by any other person. If you are not a<br/>&gt; named recipient, please contact the sender and delete the e-mail from your<br/>&gt; system. The sender does not accept any liability for errors or omissions in<br/>&gt; the content of this message or for viruses, or any damage due to the<br/>&gt; e-mail. The recipient is advised to have appropriate virus check software<br/>&gt;<br/><br/><br/><br/>-- <br/>Jonathan Leffler &lt;jonathan.leffler@gmail.com&gt; #include &lt;disclaimer.h&gt;<br/>Guardian of DBD::Informix - v2013.0521 - http://dbi.perl.org<br/>&quot;Blessed are we who can laugh at ourselves, for we shall never cease to be<br/>amused.&quot;<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36617.html Thu, 23 May 2013 15:04:37 +0000 RE: DBD installtion 11G R2 (64Bit) & 32 bit perl version by Anoop Kumar Paramesweran Hi Support,<br/><br/>Please help me to solve this..<br/> LD_RUN_PATH=&quot;/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib&quot; ld -bhalt:4 -G -bI:/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE/perl.exp -bE:Oracle.exp -bnoentry -lpthreads -lc -lm -L/usr/local/lib Oracle.o dbdimp.o oci8.o /lib/crt0_64.o -o blib/arch/auto/DBD/Oracle/Oracle.so -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lclntsh -lld -lm -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads<br/>ld: 0711-736 ERROR: Input file /lib/crt0_64.o:<br/> XCOFF64 object files are not allowed in 32-bit mode.<br/>make: 1254-004 The error code from the last command is 8.<br/><br/><br/>Stop.<br/><br/><br/>After researching I could find this ,, But issue is that with 11gR2 onwards lib32 is not installing by default so need to install and configure seperatly its very difficuilt task for DBA..<br/><br/>Is DBD 64bit is available??<br/><br/>The problem looks like Perl and DBI run in 32-bit mode, but Oracle 9i<br/>installs<br/>as<br/>64-bit. (Oracle 8 installed as 32-bit.) I saved the following email<br/>with the<br/>solution<br/>in my bag of tricks. This message was for Solaris, which is what I am<br/>using.<br/>A<br/>week or so ago, it also worked for hpux. Hopefully it will work for you<br/>on<br/>AIX.<br/>=================================<br/>Our solution: &lt;bit-time-kludge&gt;<br/>afer Makefile.PL creates the makefile, edit it in vi.<br/>Replace &#39;911/lib&#39; with &#39;911/lib32&#39; everywhere<br/>Replace &#39;rdbms/lib&#39; with &#39;rdbms/lib32&#39; everywhere.<br/>Then do your make.<br/>To really fix this will take someone who knows Makefile.PL to apply a<br/>patch<br/>detect the 64bit version of Oracle9i(the presense of lib32&#39;s is a tip<br/>off).<br/>In the mean time we applied a quick script to do it in our<br/>install/distribution scripts.<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>From: Anoop Kumar Paramesweran<br/>Sent: Thursday, May 23, 2013 4:25 PM<br/>To: &#39;dbi-users@perl.org&#39;<br/>Subject: DBD error<br/><br/> Hi Support,<br/><br/>I am receiving following error while installing DBD Perl module on IBM AIX 7.1 .Please help me to solve this..<br/><br/>bash-3.2# perl Makefile.PL<br/>Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/<br/><br/>Configuring DBD::Oracle for perl 5.010001 on aix (aix-thread-multi)<br/><br/>Remember to actually *READ* the README file! Especially if you have any problems.<br/><br/>Installing on a aix, Ver#5.3<br/>Using Oracle in /u01/app/oracle/product/11.2.0/dbhome_1<br/>DEFINE _SQLPLUS_RELEASE = &quot;1102000300&quot; (CHAR)<br/>Oracle version 11.2.0.3 (11.2)<br/>Found /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/>Using /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/>Your LIBPATH env var is set to &#39;/u01/app/oracle/product/11.2.0/dbhome_1/lib&#39;<br/>Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/>Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk<br/>Deleting -b64 from COMPOBJS because -b64 doesn&#39;t exist.<br/>WARNING: Oracle /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk doesn&#39;t define a &#39;build&#39; rule.<br/><br/>WARNING: I will now try to guess how to build and link DBD::Oracle for you.<br/> This kind of guess work is very error prone and Oracle-version sensitive.<br/> It is possible that it won&#39;t be supported in future versions of DBD::Oracle.<br/> *PLEASE* notify dbi-users about exactly _why_ you had to build it this way.<br/><br/>Found header files in /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public.<br/><br/>client_version=11.2<br/><br/><br/>DEFINE= -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112<br/><br/><br/>Checking for functioning wait.ph<br/><br/><br/>System: perl5.010001 aix dennis01 3 5 00c72e9a4c00<br/>Compiler: xlc_r -q32 -O -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong<br/>Linker: /usr/bin/ld<br/>Sysliblist: /lib/crt0_64.o -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat<br/>Oracle makefiles would have used these definitions but we override them:<br/> CC: $(ORACLE_HOME)/bin/oraxlc $(ORAXLCFLAGS)<br/> CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\<br/> $(SHARED_CFLAG) $(USRFLAGS)<br/> [$(GFLAG) -O3 $(CDEBUG) -q64 -DSS_64BIT_SERVER -qwarn64 -qinfo=uni -DAIXRIOS -qflag=s:s -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -DLDAP_CM $(LPFLAGS) $(PLSQLNCGFLAGS) $(USRFLAGS)]<br/> LDFLAGS: -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME)<br/> [-o $@ -L/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -L$(LIBHOME)]<br/>Linking with /lib/crt0_64.o -lclntsh -brtl -lld -lm -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads [from $(OCISHAREDLIBS)]<br/><br/><br/>WARNING: You will may need to rebuild perl using the xlc_r compiler.<br/> The important thing is that perl and DBD::Oracle be built with the same compiler.<br/> You may also need to: ORACCENV=&#39;cc=xlc_r&#39;; export ORACCENV<br/> Also see README.aix for gcc instructions and read about the -p option.<br/>Unrecognized argument in LIBS ignored: &#39;-brtl&#39;<br/>LD_RUN_PATH=/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib<br/>Using DBD::Oracle 1.62.<br/>Using DBD::Oracle 1.62.<br/>Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/<br/>Writing Makefile for DBD::Oracle<br/><br/>*** If you have problems...<br/> read all the log printed above, and the README and README.help.txt files.<br/> (Of course, you have read README by now anyway, haven&#39;t you?)<br/><br/>bash-3.2# make<br/>cp lib/DBD/Oracle/Troubleshooting/Cygwin.pod blib/lib/DBD/Oracle/Troubleshooting/Cygwin.pod<br/>cp lib/DBD/Oracle.pm blib/lib/DBD/Oracle.pm<br/>cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h<br/>cp lib/DBD/Oracle/Troubleshooting/Vms.pod blib/lib/DBD/Oracle/Troubleshooting/Vms.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Hpux.pod blib/lib/DBD/Oracle/Troubleshooting/Hpux.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Linux.pod blib/lib/DBD/Oracle/Troubleshooting/Linux.pod<br/>cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm<br/>cp lib/DBD/Oracle/Troubleshooting.pod blib/lib/DBD/Oracle/Troubleshooting.pod<br/>cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h<br/>cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h<br/>cp lib/DBD/Oracle/Troubleshooting/Sun.pod blib/lib/DBD/Oracle/Troubleshooting/Sun.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Macos.pod blib/lib/DBD/Oracle/Troubleshooting/Macos.pod<br/>cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm<br/>cp lib/DBD/Oracle/Troubleshooting/Aix.pod blib/lib/DBD/Oracle/Troubleshooting/Aix.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Win64.pod blib/lib/DBD/Oracle/Troubleshooting/Win64.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Win32.pod blib/lib/DBD/Oracle/Troubleshooting/Win32.pod<br/>cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm<br/> /usr/bin/perl -e &#39;use ExtUtils::Mksymlists; Mksymlists(&quot;NAME&quot; =&gt; &quot;DBD::Oracle&quot;, &quot;DL_FUNCS&quot; =&gt; { }, &quot;FUNCLIST&quot; =&gt; [], &quot;DL_VARS&quot; =&gt; []);&#39;<br/> /usr/bin/perl -p -e &quot;s/~DRIVER~/Oracle/g&quot; /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/Driver.xst &gt; Oracle.xsi<br/> /usr/bin/perl /usr/opt/perl5/lib/5.10.1/ExtUtils/xsubpp -typemap /usr/opt/perl5/lib/5.10.1/ExtUtils/typemap -typemap typemap Oracle.xs &gt; Oracle.xsc &amp;&amp; mv Oracle.xsc Oracle.c<br/> xlc_r -q32 -c -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\&quot;1.62\&quot; -DXS_VERSION=\&quot;1.62\&quot; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112 Oracle.c<br/> xlc_r -q32 -c -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\&quot;1.62\&quot; -DXS_VERSION=\&quot;1.62\&quot; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112 dbdimp.c<br/> xlc_r -q32 -c -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\&quot;1.62\&quot; -DXS_VERSION=\&quot;1.62\&quot; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112 oci8.c<br/>Running Mkbootstrap for DBD::Oracle ()<br/> chmod 644 Oracle.bs<br/> rm -f blib/arch/auto/DBD/Oracle/Oracle.so<br/> LD_RUN_PATH=&quot;/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib&quot; ld -bhalt:4 -G -bI:/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE/perl.exp -bE:Oracle.exp -bnoentry -lpthreads -lc -lm -L/usr/local/lib Oracle.o dbdimp.o oci8.o /lib/crt0_64.o -o blib/arch/auto/DBD/Oracle/Oracle.so -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lclntsh -lld -lm -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads<br/>ld: 0711-736 ERROR: Input file /lib/crt0_64.o:<br/> XCOFF64 object files are not allowed in 32-bit mode.<br/>make: 1254-004 The error code from the last command is 8.<br/><br/><br/>Stop.<br/>bash-3.2# echo $ LD_RUN_PATH<br/>$ LD_RUN_PATH<br/>bash-3.2# echo $LD_RUN_PATH<br/><br/>bash-3.2#<br/><br/><br/><br/>This e-mail including any attachment is intended only for the recipient(s) named. It may contain confidential information and should not be read, copied or otherwise used by any other person. If you are not a named recipient, please contact the sender and delete the e-mail from your system. The sender does not accept any liability for errors or omissions in the content of this message or for viruses, or any damage due to the e-mail. The recipient is advised to have appropriate virus check software<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36616.html Thu, 23 May 2013 14:06:36 +0000 RE: DBD error by Anoop Kumar Paramesweran GIF89a&#155;&#0;&iexcl;&#0;&#134;&#127;&#0;-&para;&shy;lx&para;&Igrave;&ecirc;&iacute;&ordm;&Acirc;&szlig;&#143;&Ecirc;&euml;e&raquo;R2&acute;&eacute;q&Euml;&AElig;&icirc;&icirc;&#144;e&#145;&Euml;&#157;&ordf;&Ograve;p&Acirc;^&#22;&macr;&yen;&Ocirc;&aacute;hS&Aacute;&ordm;B&frac14;&acute;l&cedil;&atilde;&#146;&#157;&Euml;I&brvbar;&Uacute;&Egrave;&Iuml;&aring;&acute;&times;&#134;0&#146;&ETH;&Egrave;&Uacute;R&#3;&#133;&Euml;&igrave;&iuml;&reg;^&#133;&Auml;&#23;&#153;&times;X&sect;0&Uacute;&euml;&Icirc;&Ouml;&Ucirc;&igrave;&ocirc;&otilde;&Ecirc;&#150;&Ograve;&#139;PX&yen;Zm&sup2;&frac34;&Otilde;D7&nbsp;&Oslash;Xd&not;\y&raquo;u&#133;&frac12;&cedil;&Ograve;8&ordm;&atilde;&atilde;&shy;&micro;&Oslash;Y&sup1;K&atilde;&ccedil;&ograve;&nbsp;&Ograve;&iacute;&#133;&#147;&Aring;1J&#157;&micro;&ordm;&Ucirc;&copy;&Ograve;{&#6;&ordf;&#159;&shy;&Ucirc;&cent;&#129;&Aring;f&Eacute;&auml;&middot;&ntilde;&oacute;&ugrave;&#153;&Uacute;&Ugrave;&acirc;&eth;&oslash;&Igrave;&Ugrave;d&#133;&Euml;x&Icirc;&Ocirc;&egrave;&sup1;&Egrave;&aring;-&yen;&#151;&Eacute;&Uuml;&#138;&sect;&not;&Ograve;&#22;&#141;z&gt;V&curren;&szlig;&ccedil;&#142;u&uml;&times;&micro;&Uuml;&ntilde;&#4;|f|&cedil;F&laquo;&times;&eth;&ograve;&oslash;&ucirc;&Atilde;&AElig;&agrave;&#152;&Ecirc;{&#22;x&Atilde;&#139;&Otilde;&Ograve;&#130;&Euml;&Auml;&#28;&#133;&Igrave;Na&ordf;&Agrave;&Ograve;&ecirc;-j&micro;&aacute;&ntilde;&eacute;&THORN;&aelig;w&#127;&ETH;&Iacute;&#3;P&ordf;d&frac12;&sup2;&#154;&Aring;Z\&macr;&THORN;&#136;&#140;&Aacute;Ku&cedil;&#158;&pound;&Icirc;&#128;&#133;&frac12;&oslash;&uuml;&yacute;&#148;&middot;&Yacute;&#16;l&frac14;&#17;2&#131;&raquo;&szlig;&reg;&#153;&Oacute;&Ecirc;&uuml;&yacute;&otilde;}&iquest;&aring;<br/>&#139;&Icirc;E&deg;&cent;&#143;&Ecirc;l&ocirc;&divide;&THORN;&#21;&#141;&Icirc;y&frac14;\&#15;&#145;&Oacute;&Acirc;&Yacute;&cent;&brvbar;&Atilde;&acirc;&ograve;&oslash;&ograve;&#39;&#153;&#136;`&AElig;&Agrave;&#21;&#156;&#141;&copy;&agrave;&agrave;&#158;&Icirc;r&#147;&Icirc;&Aring;&ecirc;&icirc;&ouml;&#143;&Eacute;&Agrave;&quot;&curren;&szlig;J&#127;&Aacute;HX&#158;&Atilde;&acirc;&ocirc;&#31;F&#148;%&#156;&Uuml;]&shy;&#159;&#31;&#146;&Ntilde;#&gt;&#152;&yuml;&yuml;&yuml;!&yuml;&#11;NETSCAPE2.0&#3;&#1;&#1;&#0;&#0;!&ugrave;&#4;&#1;&#0;&#0;&#127;&#0;,&#0;&#0;&#0;&#0;&#155;&#0;&iexcl;&#0;&#0;&#8;&yuml;&#0;&yuml;&#8;&#28;H&deg;&nbsp;&Aacute;&#131;&#8;&#19;*\&Egrave;&deg;&iexcl;&Atilde;&#131;5&cedil;&lt;&#156;H&plusmn;&cent;&Aring;&#139;&#24;3&#18;\&ntilde;&curren;&#131;&AElig;&#143; C&#138;&#12;&Eacute;E&Ccedil;&#147;&#39;&#18;G&ordf;\&Eacute;&#146;%&Ccedil;&#39;;&egrave;&acute;&#156;I&sup3;&aelig;D&#147;;vx&acute;&Eacute;&sup3;&#39;O:9w&#12;&Oslash;&eacute;&sup3;&uml;Q&#145;0&#7;&deg;y1&aacute;&uml;&Oacute;&sect;&#22;W&#8;&Yacute;&ntilde;&quot;&Aring;&#14;&uml;X&sup3;&amp;&auml;&quot;T&#135;T&#31;&#3;&acute;&#138;&#29;&laquo;&atilde;&Aring;&#142;&#21;+&amp;(x1&para;-T:U;&Egrave;&#157;&nbsp;%&#133;&Ucirc;&raquo;E&sup1;T&#157; W&#7;&#146;&#8;v&ntilde;<br/>&reg;&sup1;#&Aring;&ETH;&#14;:&amp; i&#129;d&deg;c&#150;&#29;|&curren;&ETH;AY&ntilde;&#11;,a&#31;k&#6;IG&#129;&#130; &#137;&#145; &#25;&eth;&Acirc;D&Oacute;&Iacute;&uml;/rI&iexcl;&#0;I&egrave;&Ntilde;/&#20;&#4; &#154;&ordm;&para;C&Ouml;LE&#147;&reg;&#26;!&#128;&iacute;&szlig; wD&Egrave; &Ucirc;&#135;&ntilde;-&amp;&#128;+G8&#1;&deg;b&Ograve;)&quot;&acute;&#136;&nbsp;%@&#132;&aring;&Oslash;&#7;v&#136;&ETH;&#26;vt,X&brvbar;&#147;&yuml;`&#155;}y&#135;&#22;&shy;w&#127;G&#142;e&#11;&#8;&#153;&aring;&#129;&euml;@?&#0;z&ocirc;-[&#2;&#4;&Egrave;O&quot;&frac34;&uuml;&#22;Z&uml;&ccedil;C&#4;&oslash;&eacute;G&#130;{&times;&ugrave;W&Ucirc;|&Atilde;U&#149;&#130;&#15;-&auml;&#23;@&#8;$&#144;&#16;&#128;&#11;&acute;)&oslash;&#152;&#14;&amp;4&oslash;&nbsp;&#15;&iacute;&#25;H&#2;&#8;&#21;&#134;&nbsp;!j&#28;&reg;&#149;&Acirc;&#131;Z`&iexcl;&#31;&#133;#&#130;&#16;&#2;&#8;&auml;&#157;&egrave;&Oslash;&#4;&amp;hQ&#149;q-&frac34;&#24;#&#8; &#4;&agrave;&#132;&#141;&#143;&aacute;X&#23;&#139;Z&auml;&#7;#&#144;@R&uml;&#0;&#145;&#131;&aacute;(&#25;&#143;IN&oslash;#&#8;NX&egrave;D P&acirc;&aring;&#131; <br/> I&agrave;&#146;Lf&#25;B&#8;&#129;u&Ugrave;&#150;&#2;9&ograve;&#24;&Aacute;&#152;WfIB&#8;&#1;&#148;&#128;&#16;&#23;)&copy;Y&#20;&#155;&AElig;)&nbsp;&Aring;&#155;&#1;T&Egrave;$&#150;s&#134;PB&#8;&#25;&thorn;&Aacute;&#133;&#0;F&#24;q&#132;&#158;&gt;&plusmn;&copy;&#128;&#15;Z&uuml;&eacute;b&#156;f&#150;&nbsp;&eacute;&#147;&#5;&#29;&Ntilde;(&#11;,&#8;&#0;&copy;MG&acute;&#144;c&yen;obA&aacute;&nbsp;f&#26;&ordf;i&#2;&#143;&#18;&yuml;t&#3;&uml;,&#16;@@&#30;&pound;&Ograve;t&#132; &sect;&thorn;&#25;!&brvbar;sj&#154;&#129;&brvbar;+&#20;&#148;G&shy;&para;&Uacute;&#138;k&reg;,&iacute;zj&ordf;&icirc;&plusmn;Z&uml;&deg;&#25;dq&Otilde;@\&#12;a&euml;&#16;&Uacute;&#142;1&AElig; &Igrave;&reg;D&#7;&macr;&#127;J&ccedil;&quot;&laquo;&shy;R[B&#23;&#4;qQ+&#11;y&Auml;k&#4;&#4;&#16;&auml;&#25;.H+&#132;&ETH;&iexcl;&sup1;&ordf;J{&amp;&micro; &Uuml;&Aacute;&icirc;@7&Oslash;jD&frac14;y&#12;1&iuml;&#24;&divide;&#138;&#148;&iuml;&frac34;-&acute;&divide;&pound;&#19;&eacute;&#150;&#144;A&#2;&#1;&#15;,&#144;&#0;&Ucirc;&AElig;&Euml;&iacute;&#16;,\&Aacute;B&Atilde; &eacute;&#16;&#2;&#22;&#17;&#128;&#135;&#156;&iquest;&reg;fpq&AElig;&#4; 1&#6;&#1;&#31;s&Ucirc;(&#1;&#18;,K2F&#3;8&plusmn;E&Auml;!&#150;Y&ntilde;&Euml;0&#11;&Auml;&#5;&#1;&#16;&deg;&eth;q&pound;F&#128;:&#134;&#4;&plusmn;&icirc;lQ&Iuml;[&uml;&frac14;&Aring;&#140;@&#14;Mt&#6;&#26;&szlig;&agrave;&shy;&#17;<br/>&#127;Jk&Egrave;&#12;KmQ<br/>NX&#29;h&Ouml;Zc&#156;@&#6;O&#12;4&#4;&#4;c0M+&#1;W@`&laquo;&#4;F&#152;&yuml;]Q&#11;&gt;&atilde;gB&#0;eNk1&Ntilde;&#24;&#23;&ucirc;&#135;&times;z7}7&#4;&#18;D&icirc;m&#5;Q&ucirc;&Yacute;P&#11;&#7;&#22;H8&#150;mc,p&not;F\1&AElig;&Oslash;NG.&Aacute;&#8;#&#140;&#145;&middot;&aring;&#14;&Otilde; &curren;&aelig;1v&thorn;v&#2;; &#0;&Aacute;&#21;&#4;&Uuml;m+&#4;&uml;&pound;&frac34;G&#5;cT&#0;.&euml;&#11;&Otilde;@!&macr;&#6;rn&cedil;&Euml;&#24;&raquo;&Igrave;&#134;@5&agrave;&lt;s&sup2;&para;&gt;&#141;z&#5;&#21;&ocirc;&Ntilde;&Ccedil;&#8;WH@|&ntilde;&Ccedil;&iquest;&#152;&otilde;&ograve;/g&eth;&ugrave;&#31;G&deg; &#1;&icirc;&Ocirc;&Ucirc;z&Aring;&#8;&#21;&igrave;&iexcl;}&#31;h&nbsp;qE&#5;:&#127;oP&#7;@X&#152;&lt;&Aring;&auml;&oacute;\&#2;&agrave;3&#132;&icirc;M&#143;&#0;3&#27;&#3;&iuml;&sup2;&sect;&frac12;&uacute;&#145;&aacute;&#2;h8&#157;&thorn;&#16;&Acirc;?:&yacute;/&#128;&#1;&pound;&Yacute;&AElig;xG7oy&eth;i&oacute;s&agrave;&#3;/p&#129;&#17;4ax&#19;$&Egrave;&#0;&#128;`&Aacute;&#25;&#1;&eth;_&#22;{&Ucirc;&#29;2p&shy;&#27;&#8;&iexcl;&#2;&cent;&ucirc;&nbsp;&middot;&reg;&ETH;@4&#144;a&#132;$&frac14;&Agrave;&ouml;&yuml;&Ecirc;&#150;&Acirc;&#129;&curren;&Agrave;&#5;&#22;Z&#149;&Ouml;&Igrave;g-&#129;x&shy;&#2;&#18;&eth; &frac12;&egrave;u&#133;=&#136;0&#136;X$&Atilde;&eacute;*&#151;&Acirc;#&#158;I&#137;&auml;&Euml;B&#22;&ordm;&eth;(&#27;V`&#4;SL&atilde;&yacute;|&#8;&Auml;,&thorn;P&#2;}&#16;U&#17;&#5;b&#2;$&#158;&#137;&#4;Z&#19;#&#25;&Ntilde;&times;&#133;&amp;p/&#141;&ocirc;&#130;&atilde;&#15;&plusmn;&egrave;F5&uml;&#1;u#&#155;&atilde;&#31;&ecirc;8&#39;&lt;&#14;-&#11;PP&#0;&#151;&#142;&ETH;&#5;&igrave;&aring;&iacute;vW&Egrave;&curren; &#25;&Auml;&#31;&#146;&Aacute;&#144;&#26;&Oslash;&#3;&#26;&#21;Y&#3;&#18;&Oslash;&plusmn;B&Euml;&#131;d&#11;dB&Eacute;&amp;@1&#147;&deg;&igrave;^&#31;8IBO&#130;R&#3;&#26;&deg;&#131;&#4; @J&lt;&agrave;&#1;&#149;&#21;&Euml;&#2;&#16;ZP&not;&#27;&ocirc;&ntilde;&#149;&plusmn;|_&#27;;&ugrave;&Atilde;[&acirc;&Ograve;&#14;v&ETH;&#0;&#17;S&Oslash;&#1;_&cent;&Ograve;p&Acirc;$&aelig;&acirc;&#132;&nbsp;&#4;(&#154;&Icirc;t&sup3;&auml;&curren;-&Otilde;&#128;&Euml;gB&Oacute;&#14;{&#152;&aelig;&#4;;&agrave;&#135;_&acirc;&plusmn;PYp&#130;&#11;&acute;iC/x&oacute;&#155;#@&#131;8&#155;I&yuml;&Icirc;r&#158;&Oacute;&#14;&#6;@&#39;&#1;&#20;&#137;&#4;&#23;&#144;&uml;U!&#0;&#130;&#11;&#18;P&not;&#39;&#8;&Aacute;&#11;~4&#29;&ecirc;&uacute;&deg;&Igrave;q&ouml;3&#151;&ccedil;4&#128;F&iacute;0&#130;&uuml;M&ETH;&#7;~&Egrave;R&laquo;&#128;&nbsp;&#7;&#19;4&ocirc;&#14;&ouml;&igrave;&Yacute;D+&Ecirc;&Iuml;&#139;&thorn;S&pound;0&micro;&#3;&#4;P&#152;B&#144;&cent;&ograve;L.()&cedil;&Oslash;&#128;&Ograve;3&ouml;&#142;~&#132;&acute;h9&divide;&eth;R&#152;&Acirc;t&#8;&#138;&uuml;C&#0;&frac34;&agrave;&#132;/&#146;&Ocirc;&curren;5`&#3;&#20;&#148;&ETH;&#135;=X&#149;&cent;Am&eacute;P&#139;jT&#3;&#140;&#128;&#0;\&#156;&agrave;RC*&Iuml;&#146;&cent;&aring;&iexcl;T&micro;&ordf;&#15;&sup3;&uacute;Ig&#18;5&pound;]&Otilde;&egrave;W&Atilde;&Uacute;.&lt;&#153;M&#7;_&Egrave;k^M&Ecirc;&#134;&#12;@&acute;&#15;&#26;&ETH;&#39;[ &eacute;R&reg;vU&brvbar;};&#8;&#23;n&Agrave;X&#1;8&ouml;&#6;t&Iacute;&#21;&#18;&ograve;&ordf;&#135;&#8;&not;@&#8;P&eth;&#2;&#26;&#12;&sup1;&Iuml;&para;&#22;&#22;&reg;q&Yacute;&#3;&#4;&#140;@S&#129;&#28;&aacute;&#6;&#2;@A&#28;&acirc;&nbsp;Z&#20;&nbsp; &#15;(&#144;&atilde;&Icirc;&amp;0&#129;&#39;&yuml;$&#128;<br/>J&eth;&auml;&gt; [N&#140;B&Oacute;&uml;&egrave;&acute;&ordf;&THORN;&lt;&#138;&frac34;&Ocirc;&Uacute;` 6X&shy;k&#29;&laquo;&Uacute;&Otilde;&Ecirc;&#150;dO&#128;&#2;&#21;&frac14;&eth;&Eacute;&Icirc;:3&#151;{&#8;&yen;&ouml;&#154;&#128;&#134;&amp;&igrave;&ograve;V\&auml;B&#20;&acirc;`&#131;&#3;&#28;`<br/>&Egrave;U.k]&euml;&Uacute;&atilde;&Uacute; <br/>f&pound;&#130;|/&agrave;Y&Acirc;&cent;a&raquo;Mh&#130;&#18;&#148;&ETH;&#4;/(!&#1;#&#16;B&Yacute;&ograve;&#16;&Ouml;(&#8;&Agrave;&#6;LxC&#21;&THORN;&Agrave;&#132;)&Oslash;&agrave;&Aacute;&#15;^&shy;&#132;&#39;&lt;&#133;<br/>&Ucirc;&laquo;a&Ograve;&#149;&macr;&#134;5&#12;&#133;;&Igrave;P&#8;B&egrave;&Acirc;IJ;&#16;&Ccedil;&#134;!&#12;U&uml;B&#25;&#28;&agrave;&#0;&oacute;&cent;w 0&#142;1&#132;g&lt;&atilde;&#3;&frac14;&#1;&#5;&#150;&#131;&Eacute;I&acirc;v&#16;:&deg;&#23;&#5;u&#8;&ograve;&#1;&Ecirc;&nbsp;b&#30;&#148;&aacute;&Egrave;,6&macr;&#146;+&Igrave;&auml;&amp;/&#1;&frac12;&#21;^&ograve;&#131;&#151;&agrave;&#128;7\&oslash;^m&agrave;&#3;&#17;&para;L&#132;&#31;x&ugrave;&Euml;^v&#3;&#15;&AElig;l&auml;#?&#128;&Aring;U~&#131;&#154;&times;&not;f%&raquo;&Ugrave;&brvbar;&Iacute;jv&Agrave;&#3;&aelig;Lg&#7;&nbsp;&divide; &#15;x.&Eacute;&ecirc;&deg;&aring;&#31;&eth;&#0;&#0;t&#14;&acute;&nbsp;&aring;&#140;&aelig;B&#23;&#154;&Iacute;kF3&#157;&#1;&Agrave;&egrave;F3&uacute;&#1;&#128;&#6;&#128;y%m&sup1;(l&Ugrave; &#140;f@&#12;b&Agrave;&#128;N;&Uacute;&Ntilde;&#144;&#22;&ocirc;&sect;&#27;&Yacute;&eacute;R3&#0;&#0;&#158;&gt;&otilde;&uml;&#27;}&#128;9G&ouml;^(p&#3;&#17;&thorn;&not;&eacute;M&Ucirc;&uacute;&Ouml;&cedil;&Icirc;5&sect;w&Iacute;iS&ucirc;&uacute;&times;&frac34;&gt;3&#15;&ocirc;L2&#14;l&nbsp;&#8;k@&#1;&#31;&uuml;\k];&ucirc;&Ugrave;&ETH;&Icirc;&micro;&brvbar;K&iacute;&#0;8&agrave;&Oslash;r4&Oslash;&#128;&para;&#139;&Agrave;&#129;(,&#27;&Oacute;&frac34;&aelig;u&acute;&Ccedil;=&icirc;&#7;&Agrave;&Aacute;&#6;&yuml;&szlig;&Oacute;v&#26;fP&#128;4p&nbsp; up&#131;&#152;3&#141;j`&Ucirc;&raquo;&Oacute;&acirc;&amp;w&#12;&#0;&Agrave;&#131;8&#16;&#15;&#3;=&nbsp;&Agrave;&#6;&#22;&#144;&#131;&#28;&deg;&Ucirc;&Yacute;&#127;P&para;&#159;&#31;&#29;&eacute;U;&uacute;&Ocirc;&#16;&macr;&divide;&frac12;K&#29;&#131;1&#19;[j88&#1;&#6;&acute;=&#131;&#5;&#16;|&#6;*&Oslash;&#0;&#24;&thorn;&#0;o&#30;&oslash;&ugrave;&Igrave;r&#22;&acute;&Ecirc;C&iacute;&eth;U3&#0;&#14;ex5&Eacute;z`&#5;&#17;&#24;&raquo;&#0;&#11;(@&#1;f`&eth;&#144;&#127;&#0;&frac34;Q&#152;&#3;&#15;&Uuml;&deg;bD&iquest;&Aacute;&ETH;H?&oacute;&Ecirc;&ccedil;&lt;&ocirc;9&curren;&deg;&#7;&#39;h@&#16;d0p&#21;&uml;&#0;&ccedil;&lt;&Iuml;A&#1;6&#144;&#6;&#26;&#8;$&egrave;e z&#21;&THORN;Lv&pound;#Z&Icirc;&lt;&uml;&#2;&#137;Y&Ccedil;&#1;&#17;H&Aacute;&#2;g&#152;&Aacute;&#6;<br/>`&otilde;&laquo;&#19;&frac14;&agrave;i&ETH;v&#18;8 &#144;6&nbsp;&#128; e0r&#21;&#152;&#16;&atilde;&Acirc;7&sup1;&Eacute;C&amp;&ograve;&Aring;&#137;&ccedil;&#129;&uml;7&#0;&#7;m&Oslash;@&Yacute;&euml;&#142;&oacute;&#130;&#23;|&euml;&#27;&Oslash;;A&#4;0&#135;&#3;&uml;&#152;&Egrave;&#131;g&yuml;&#130;&egrave;G&#159;b&quot;&Iuml;a&iacute;&#19;&#140;:&#14;p&#16;&#132;&Egrave;&Oacute;}&ograve;W&Iuml;z&#14;&gt;&#144;&#131;&frac14;g&#30;&#12;&eth;%H&#27;L|&acirc;&THORN;&#135;!&para;I5&#136;&#8;p`&#129;&#6;&#136;&Agrave;&#3;7&times;9&igrave;+_&eth;&#15;&ETH;&gt; [/@&#18;&Agrave;&Agrave;&divide;&agrave;S&curren;&#7;&#22;&#16;&#129;&#5;&curren; &#130;3&#24;&Ucirc;&atilde;&Ecirc;&#159;&lt;&oacute;g&iuml;&uuml;&#15;$a&#6;i(&#130;<br/>f`&#134;5P&yuml;&Yacute;&Ouml;O&#136;&#7;&sup2;/&#130;&#6;&lt;^&#12;&AElig;N&#3;&oslash;&Atilde;_&divide;&raquo;&#147;&iquest;&uuml;&Icirc;&#151;&#4;&ccedil;&#135;~3P&#128;f`&#6;r &#7;0@&#1;&#20;&deg;&#6;4p&#6;&Aacute;&#39;&#2;&#18;&egrave;v&laquo;&divide;&#7;&AElig;V&#4;&#29;&middot;&#127;&Euml;ww&#0;&egrave;|2&eth;&#129;2&#0;&#6;!&#8;&#6;$&#8;&#6;&#20;&deg;&#128;&#20;&ETH;&#3;k&#16;|&Oslash;w&#2;&Uacute;&#39;&#5;8&ETH;&#3;&#22;X&#4;E`&#6;&#5;&uml;&#129;&#27;&Egrave;s&#29;&#8;&#130;#H&#130;4@&#3;`&nbsp;&#128; &#24;|&#24;&#144;q.&Egrave;z1Hr4(&#7;&#7;&#152;&#129;9&divide;z&#27;&Oslash;|&#30;&Egrave;&yuml;&#131;%&#8;&#6;&#2;&#8;&#3;^&#151;Tb&#128;&#3;&quot;p&#2;.(u1(&#6;&#127; &#7;E&#144;&#128;M&#152;&#129;&uuml;&#39;~:&ccedil;q&#30;&times;|&#31;(&#130;&igrave;&#151;&#4;b&#24;|A`|^&egrave;vA&deg;zb&cedil;&#6;e&#8;&#3;fx&#131;8&cedil;|8&Ccedil;&#134;3&eth;&#1;&#31;h&#6;&euml;V}&Aacute;&ccedil;&#1; &#144;}w(&#5;u&#8;w3h&#5;&#39;&egrave;&#135;g&#24;&#136;j8&#136;&sup3;&#151;&#4;&iacute;&#150;&#133;&ntilde;&#39;&#5;&#141;&Oslash;&#133;.&#8;&#137;o&#135;&#1;&#2;A&#1;E&#128;&#130;~&Egrave;&#132;&#128;&oslash;&#132;&deg;gu:G{W&sect;&#136;&ntilde;&#135;&#1;&#145;(&#138;&otilde;&#23;&#4;y(&#5;bx&#6;V`&#5;=&#16;p0`&#137;6&#136;&#134;P&#8;&#139;Z&middot;&#1;3&ETH;&#6;&ntilde;G&#16;b&#16;&#4;&nbsp;&egrave;&#136;_&#24;&#4;&#8;&#144;&#135;&brvbar;8&#137;&Aacute;&Egrave;&#128;&laquo;X&#140;&ucirc;Gw&#30;&sect;m#&times;&#140;&#5;&#129;&#1;&#8;&#16;&#141;&cedil;&Egrave;z&auml;&#8;&#137;&#16;&oslash;&#7;4 &#7;&Agrave;&#152;&#141;&Atilde;&Egrave;&#132;&Uuml;&cedil;&#0;i`u2 s&Aacute;&#39;&#6;RP&#142;&iexcl;x&yuml;&#135;&Ucirc;&#135;&#1;&#0;I&#141;&euml;&#24;&#5;0`&#5;B&uml;&#141;6&uml;~E&#144;&#4;&#158;(&#142;&#7;A&#142;&uuml;(&#141;&Uacute;&#39;u&#0; &#145;&#30;0&#135;&#28;&deg;&#6;&#20;&#144;&#128; &cedil;&#6;k&#144;{&#14;&sup1;&#16;&#8;0&#146;&aelig;&egrave;&#143;&Aring;&#23;&#4;&#0;&eacute;&#1;&auml;&egrave;&#1;!&copy;&#17;g0&#146;&#17;&#137;&#139;&#22;P|R&#144;&#146;#&Eacute;&#146;-&#137;&#17;&#30;&#0;&#147;%&eacute;&#130;3&Ugrave;&#0;5 &#145;&times;&#152;&#147;&#23;&#1;&#145;&#17;&eacute;&#133;&gt;Y|&#0;)&#5;R&#128;&#147;Dy&#17;;I&#146;&yacute;&egrave;&#147; &Agrave;&#143;C&ugrave;&#148;P&Eacute;&#147;&#141;x&#135;@i&#1;8&agrave;&#148;X&#137;&#17;bP&#142;&nbsp;&Oslash;&#136;3&copy;}&#24;0&#135;a&ugrave;&#17;b&nbsp;&#146;u&#136;&#146;`&sup1;&#150;&para;&Ntilde;&#1;&uacute;&#145;(&#127;&ETH;&#1;<br/>&eth;&amp;&Ograve;Q&#16;&Iacute;&ntilde;&amp;-&#144;&amp;rI&#16;@&agrave;&#7;~&agrave;&#2;&#7;&#17;&#2;&#132;I&#152;&amp;B&#16;&#137;I&#152; &#18;&#152;&#3;1&#1;&#141;y&#26;&#4;&#129;&#152;&#133;&#153;&#2;&#25;&#146;&#152;.&#144;&#2;&#138;&#3;&#153;&#3;&aacute;&#2;&#137;&Eacute;%&#5;a&#153;-p&#16;&#137; &yuml;&#152;&#158;)&#16;G&acute;&#153;&#135;&eacute;&#152;&brvbar;I&#152;&#148;&#153;&#154; a&#153;&#143;&Eacute;&#152;&deg;)&#155;&#15;A&#155;&macr;&eacute;&#7;&plusmn;)&#22;-p&amp;&#153;a&#16;}&#137;&#154;&Atilde;&Eacute;&#151;o&#130;&#154;|&Ugrave;&#151;&#17;&ETH;&#155;&ordf;9!gb&#26;&#12;Q&#156;&#6;&iexcl;&#155;&#6;&#145;&#152;&Igrave;&#153;&#21;&#131;y&#155;&#6;&#17;&#1;&#138;Y&#16;&Uuml;&eacute;&#7;&#139;9&#16;&szlig;&#25;&#158;&raquo;&eacute;&#154;&#4;&Aacute;?&#141;&#153;&#152;! &#154;&#8;1&#158;&shy;&eacute;&#7;&micro;9&#16;&Ouml;y&#23;&#141;Y&#154;&Ucirc;&Ugrave;&#157;&#4;&aacute;&#158;&ugrave;&#137;&#159;&#8;&iexcl;&#153;&#156;y&#158;&nbsp;&eacute;&#7;&Uacute;&Ocirc;&#1;N@&#152;C&#146;&#16;&uacute;9&#154;&aelig;Y&#16;&oacute;&eacute;&#22;-&nbsp;&#158;&#7;&#145;&nbsp;&#2;!&iexcl;&#127;@&iexcl;&#12;J&#152;&Aacute;9&#16;&Ugrave;&Eacute;)&ETH;&#147;&#157;&ntilde;&sup1;&#159;&agrave;&ugrave;&#158;&#31;&uacute;&#7; &ecirc;&#22;&#137;i&#159;&THORN;&Eacute;&#159;&#19;&ordf;&cent;&#21;&Ecirc;&cent;&#23;&Ecirc;&#155;&#5;&#145;&#2;&#132; &#4;&#6;!&pound;~@&pound;&iacute;&eacute;&cent;&#127;@&#157;/z&#157;X&iexcl;&#0;%<br/>&cent;&auml;&Ugrave;&cent;!*&curren;<br/>&#17;&curren;JE&#152;(:&#16;5&#144;&#152;vI&curren;C*&yuml;&#16;&lt;j&#155;0&Uacute;&#22;+&#16;&nbsp;&#7;z&#159;E*&#158;,j&iexcl;T&Uacute;&#155;&#150;&#153;&iexcl;&#159;&#137;&iexcl;9&ordm;&yen;&#149;&sup1;&nbsp;_&ecirc;&#22;&amp;&#128;&curren;\j&brvbar;P&#154;&cent;n&Uacute;&pound;r:&#157;hj&curren;t<br/>&#159;&raquo;&eacute;&pound;N&plusmn;&#2;&#39;&#138;&nbsp;]&uacute;&sect;q&#154;&brvbar;g&ecirc;&#7;&Egrave;&sup1;&pound;u&Uacute;&brvbar;Qj&uml;U:&sect;b&#1;&curren;&#133;&Eacute;&#158;Z:&curren;&#20;&ecirc;&yen;&ograve;&copy;&#157;&#3;&plusmn;&brvbar;~&#144;&#28;w:&cent;oj&#16;&#1;j&#151;l<br/>&#21;&#15;&ecirc;&#7;&frac34;&aacute;&sect;!U&#16;&#5;z&pound;&#5;&#17;&#0;:Z&copy;&#139;&ordf;&#154;&#132;&eacute;&#2;&#144;*&yen;&#135;*&#16;&not;&ordf;&ordf;|&#25;&laquo;&yacute;I&#152;O&ecirc;&#20;S&ordf;&yen;~&ETH;&#153;&#3;0&#153;&#145;&copy;&#153;Gj&copy;&#3;&#145;&ordf;[&cent;&nbsp;x&ordm;?&#141;&Eacute;&iexcl;&#127;P&#3;&copy;:&cent;|J&#152;&#14;Z&laquo;&#3;q&laquo;!5&#0;&Iacute;&#1;&#154;&copy;&ordm;&#153;&Yacute;&Uacute;&#152;&#1;0&#1;&sup3;*&#16;l&Uacute;&#1;&#1;&ecirc;&#2;&ucirc;&ograve;&amp;&Ugrave;&#25;&#2;z&copy;&#151;u&#148;&#158;h&cent;&#22;&Ugrave; &#4;&sup3;&ordm;&#2;+&Ocirc;&ordf;O&ntilde;&yuml;&#157;&yen;<br/>&#17;&#1;&#154;&#158;&#153;&uacute;&#7;&copy;&Uacute;&#152;&yuml;&#138;&not;&reg;z&#157;&ugrave;&#2;&deg;<br/>&raquo;&deg;&#23;&cent;&deg;N&#144;(&szlig;Y&#152;&frac12;&ecirc;&#20;&igrave;D&#152;&#157; &sect;&uacute;2&#152;@0&reg;&ETH;&#19;&#1;&#5;&ordm;&plusmn;&#19;&#128;&macr;&iuml;z&plusmn;&#7;&#155;&#16;x&ugrave;&reg;&#17;&ETH;&reg;(&ucirc;&reg;&#30;&plusmn;&#2;&iquest;i&nbsp;&#1;P&uml;-&ecirc;&#4;&amp;&#133;&#23;&#150;&sup1;&not;&#5;Q&plusmn;&sup2;&ordf;&#18;&#137;I&sup2;&#11;a&#153;&ETH;&ordf;&#39;5&#16;&nbsp;@&#16;&#156;5&#16;&plusmn;b&uacute;&#17;&#146;i&shy;&#19;&#17;&nbsp;zJ$+0&deg;&agrave;i&#153;&#133;&ugrave;&acute;&#23;&#129;&copy;&yacute;&Uacute;&#16;K&euml;&#7;$&#131;6&eacute; &#4;&#17;P&reg;&#19;&aacute;&#156;KZ&plusmn;&macr;&#154;&shy;g&sup2;&curren;&Ograve;J&#152;&#154;J2iA[&gt;{6&#137;9&reg;&aacute;&#26;&deg;&#7;&plusmn;&micro;&#1;&Agrave;&shy;)&#144;&#157;;&#11;&#153;G&curren;&deg;m{&#16;&#127;&#11;&deg;@0&plusmn;D&eacute;&sup2;|&Euml;&plusmn;&#11;&plusmn;&#2;&ntilde;&ordf;&#152;&#146;&#132;&#155;&#144;&#27;&sup1;&#146;;&sup1;&#148;[&sup1;DI[&#152;&euml;&#17;&ccedil;&ntilde;&#156;2&raquo;&#2;&sup2;A&#39;&#143;&ucirc;&#7;o&#27;&#22;&#152;K&yuml;[&#7;1&#20;&#6;Q&#3;&iquest;I&ordm;&Uuml;&#138;&sup1;&cent;&#27;&#1;_&curren;&#0;&gt;&raquo;&#29;&Iuml;&#25;&#156;&#29;&agrave;&ordm;&#3;1&#0;&iquest; &ordm;&#134;[&#20;&#17;K&#152;&Uacute;&#154;&#152;8&Ucirc;&brvbar;&#4;;&#0;W&#154;&#152;D&ordf;&curren;&#5;&Ntilde;&curren;~0&laquo;&pound;&ecirc;&#7;&Ucirc;&#145;&#158;&Aacute;&#27;&laquo;D&#145;&deg;&ograve;&ecirc;&sup1;}&#26;&shy;R+&frac14;c1&#1;&Iuml;&#27;&laquo;&Oacute;&iexcl;&shy;&#129;&#139;&copy;&ecirc;&ordf;&#0;-@&acute;&plusmn;z&#29;8&#146;&#152;8jD&#132;&#137;&#154;&yuml;&ordm;&#2;&ccedil;Q&deg;&#153;*&#29;&AElig;z&#151;D&#11;&#24;&auml;&#27;&nbsp;hb&laquo;&Acirc;k&#2;&#30;&ecirc;&#22;&#142;*&plusmn;&#3;&ntilde;&frac14;m&#138;!L*&micro;&plusmn;&#137;&acute;&#4;q&laquo;&auml;9&not;&Ecirc;+&#16;fK&uml;&icirc;&#139;&iexcl;k&#155;&copy;&igrave;9&#1;&yuml;&Uacute;&frac34;$<br/>&frac14;&#3;&iexcl;&#0;}&Ucirc;&frac12;&#137;Y&#155;&Otilde;<br/>&pound;%&#156;!C&#139;&frac14;&#4;&Aacute;&frac14;vk&reg;=[&Agrave;&frac14;&#153;&#2;&#144;<br/>&iexcl;&#130;i&#2;2&uuml;&#157;Y&#154;&raquo;4&igrave;&Acirc;&Iacute;*&#16;q&#139;&#21;[&#155;&#153;&middot;9&ordf;&#129;K&frac14;&#6;&iexcl;&shy;&cent; &Aacute;&#11;<br/>&#4;&#28;&igrave;&ordf;2&ucirc;&sect;&#7;&Ugrave;&#153;&acute;&#2;&laquo;&cent;&#150;&#137;&Agrave;Q&cent;&Acirc;i&#26;&brvbar;&#7;Q&Acirc;&#6;&iexcl;&Auml;&#129;&plusmn;&brvbar;&otilde;*&Aacute;&#2;&#154;&sect;&#20;&#132;&Aring;&#24;&#11;&nbsp;#|&Aring;L&#155;&brvbar;/&frac14;&#155;&#7;&#129;&yen;&#2;1&#152;6<br/>&frac12;-*&Aring;&iexcl;&uacute;&#7;K&#155;&uml;x&Igrave;&cent;Q&Euml;&frac34;R&#156;&#21;[[&#157;&middot;i&AElig;/z&#16;&Iuml;+&#23;&curren;&uacute;&#7;&#1;&#154;&#28;&ograve;&acute;&laquo;g[&not;&#129;&ordm;&Ccedil;&#129;<br/>&Acirc;&#137;i&#2;b&#11;&#21;&#129;,&sect;&#159;&ecirc;&Egrave;&#7;a&para;&Oacute;A&Aacute;&auml;&Euml;&sect;E\&sup2;wk&nbsp;&#8;&#1;&Aacute;z&igrave;:s&euml;&#22;&#153;&#156;&brvbar;&middot;Z&uml;f&#139;&#16;&szlig;Z&nbsp;\b&para;&#5;*&sup3;w&Igrave;&Acirc;b;&ordf;zLGw&times;&igrave;&#20;&shy;\&sup2;6&#154;&uml;&#152;&Ecirc;&micro;&#130;+&reg;&#26;&Uacute;&#152;&#151;&uuml;&Euml;&#150;Y&uml;&iacute;&ordm;&#16;&#1;,&Acirc;k\&sup2;)L&Aacute;&ccedil;&copy;&Igrave;&#16;&Ntilde;&#152;i&ograve;&frac14;Y&Euml;&uml;&Acirc;&#25;&laquo;&sup3;&#26;&plusmn;&auml;&#25;&#0;&#144;Z&#3;&Ntilde;,&#22;&Aacute;&Igrave;&Atilde;&sect;&aacute;&Aring;&#145;Y&deg;2[&Igrave;&igrave;i&para;A+&uml;&#8;&#129;&copy;N&ETH;&#153;&#3;&uuml;&uml;&ograve;9O&Uuml;&Uacute;3N&Uacute;&#22;&eacute;&Uuml;&Aacute;&#139;:&Ccedil;N&#0;8&plusmn;J&micro;&Yacute;,&#16;&#16;&#156;&Atilde;S&#28;&not; &ntilde;&Euml;&Ntilde;J&micro;&#25;k&nbsp;&otilde;&#154; &#11;;&AElig;&#0;M&Egrave;&#2;&#29;&#155;&#19;&#144;&#157;&ecirc;&Ugrave;&#1;&aelig;&not;&laquo;&#7;1&#152;A&#11;&curren;&#12;&iacute;&Iacute;&iacute;I&iquest;-P&#3;[k&#159;&Aring;&not;&#153;&oacute;&#156;&#21;,m&ordm;&Eacute;I&reg;&ucirc;&pound;&#151;(&uuml;&curren;&middot;;&laquo;,&yacute;&Atilde;&#2;&#129;&sup1;&#151;&frac14;&frac14;&#3;&eth;&amp;&sup2;[&#16;h&Aacute;&curren;C&yacute;&amp;Vk&sup1;&gt;&#17;&#16;&#0;; http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36615.html Thu, 23 May 2013 14:04:54 +0000 DBD error by Anoop Kumar Paramesweran Hi Support,<br/><br/>I am receiving following error while installing DBD Perl module on IBM AIX 7.1 .Please help me to solve this..<br/><br/>bash-3.2# perl Makefile.PL<br/>Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/<br/><br/>Configuring DBD::Oracle for perl 5.010001 on aix (aix-thread-multi)<br/><br/>Remember to actually *READ* the README file! Especially if you have any problems.<br/><br/>Installing on a aix, Ver#5.3<br/>Using Oracle in /u01/app/oracle/product/11.2.0/dbhome_1<br/>DEFINE _SQLPLUS_RELEASE = &quot;1102000300&quot; (CHAR)<br/>Oracle version 11.2.0.3 (11.2)<br/>Found /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/>Using /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/>Your LIBPATH env var is set to &#39;/u01/app/oracle/product/11.2.0/dbhome_1/lib&#39;<br/>Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/>Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk<br/>Deleting -b64 from COMPOBJS because -b64 doesn&#39;t exist.<br/>WARNING: Oracle /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk doesn&#39;t define a &#39;build&#39; rule.<br/><br/>WARNING: I will now try to guess how to build and link DBD::Oracle for you.<br/> This kind of guess work is very error prone and Oracle-version sensitive.<br/> It is possible that it won&#39;t be supported in future versions of DBD::Oracle.<br/> *PLEASE* notify dbi-users about exactly _why_ you had to build it this way.<br/><br/>Found header files in /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public.<br/><br/>client_version=11.2<br/><br/><br/>DEFINE= -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112<br/><br/><br/>Checking for functioning wait.ph<br/><br/><br/>System: perl5.010001 aix dennis01 3 5 00c72e9a4c00<br/>Compiler: xlc_r -q32 -O -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong<br/>Linker: /usr/bin/ld<br/>Sysliblist: /lib/crt0_64.o -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat<br/>Oracle makefiles would have used these definitions but we override them:<br/> CC: $(ORACLE_HOME)/bin/oraxlc $(ORAXLCFLAGS)<br/> CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\<br/> $(SHARED_CFLAG) $(USRFLAGS)<br/> [$(GFLAG) -O3 $(CDEBUG) -q64 -DSS_64BIT_SERVER -qwarn64 -qinfo=uni -DAIXRIOS -qflag=s:s -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -DLDAP_CM $(LPFLAGS) $(PLSQLNCGFLAGS) $(USRFLAGS)]<br/> LDFLAGS: -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME)<br/> [-o $@ -L/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -L$(LIBHOME)]<br/>Linking with /lib/crt0_64.o -lclntsh -brtl -lld -lm -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads [from $(OCISHAREDLIBS)]<br/><br/><br/>WARNING: You will may need to rebuild perl using the xlc_r compiler.<br/> The important thing is that perl and DBD::Oracle be built with the same compiler.<br/> You may also need to: ORACCENV=&#39;cc=xlc_r&#39;; export ORACCENV<br/> Also see README.aix for gcc instructions and read about the -p option.<br/>Unrecognized argument in LIBS ignored: &#39;-brtl&#39;<br/>LD_RUN_PATH=/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib<br/>Using DBD::Oracle 1.62.<br/>Using DBD::Oracle 1.62.<br/>Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/<br/>Writing Makefile for DBD::Oracle<br/><br/>*** If you have problems...<br/> read all the log printed above, and the README and README.help.txt files.<br/> (Of course, you have read README by now anyway, haven&#39;t you?)<br/><br/>bash-3.2# make<br/>cp lib/DBD/Oracle/Troubleshooting/Cygwin.pod blib/lib/DBD/Oracle/Troubleshooting/Cygwin.pod<br/>cp lib/DBD/Oracle.pm blib/lib/DBD/Oracle.pm<br/>cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h<br/>cp lib/DBD/Oracle/Troubleshooting/Vms.pod blib/lib/DBD/Oracle/Troubleshooting/Vms.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Hpux.pod blib/lib/DBD/Oracle/Troubleshooting/Hpux.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Linux.pod blib/lib/DBD/Oracle/Troubleshooting/Linux.pod<br/>cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm<br/>cp lib/DBD/Oracle/Troubleshooting.pod blib/lib/DBD/Oracle/Troubleshooting.pod<br/>cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h<br/>cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h<br/>cp lib/DBD/Oracle/Troubleshooting/Sun.pod blib/lib/DBD/Oracle/Troubleshooting/Sun.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Macos.pod blib/lib/DBD/Oracle/Troubleshooting/Macos.pod<br/>cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm<br/>cp lib/DBD/Oracle/Troubleshooting/Aix.pod blib/lib/DBD/Oracle/Troubleshooting/Aix.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Win64.pod blib/lib/DBD/Oracle/Troubleshooting/Win64.pod<br/>cp lib/DBD/Oracle/Troubleshooting/Win32.pod blib/lib/DBD/Oracle/Troubleshooting/Win32.pod<br/>cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm<br/> /usr/bin/perl -e &#39;use ExtUtils::Mksymlists; Mksymlists(&quot;NAME&quot; =&gt; &quot;DBD::Oracle&quot;, &quot;DL_FUNCS&quot; =&gt; { }, &quot;FUNCLIST&quot; =&gt; [], &quot;DL_VARS&quot; =&gt; []);&#39;<br/> /usr/bin/perl -p -e &quot;s/~DRIVER~/Oracle/g&quot; /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/Driver.xst &gt; Oracle.xsi<br/> /usr/bin/perl /usr/opt/perl5/lib/5.10.1/ExtUtils/xsubpp -typemap /usr/opt/perl5/lib/5.10.1/ExtUtils/typemap -typemap typemap Oracle.xs &gt; Oracle.xsc &amp;&amp; mv Oracle.xsc Oracle.c<br/> xlc_r -q32 -c -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\&quot;1.62\&quot; -DXS_VERSION=\&quot;1.62\&quot; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112 Oracle.c<br/> xlc_r -q32 -c -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\&quot;1.62\&quot; -DXS_VERSION=\&quot;1.62\&quot; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112 dbdimp.c<br/> xlc_r -q32 -c -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -I/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\&quot;1.62\&quot; -DXS_VERSION=\&quot;1.62\&quot; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112 oci8.c<br/>Running Mkbootstrap for DBD::Oracle ()<br/> chmod 644 Oracle.bs<br/> rm -f blib/arch/auto/DBD/Oracle/Oracle.so<br/> LD_RUN_PATH=&quot;/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib&quot; ld -bhalt:4 -G -bI:/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE/perl.exp -bE:Oracle.exp -bnoentry -lpthreads -lc -lm -L/usr/local/lib Oracle.o dbdimp.o oci8.o /lib/crt0_64.o -o blib/arch/auto/DBD/Oracle/Oracle.so -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lclntsh -lld -lm -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads<br/>ld: 0711-736 ERROR: Input file /lib/crt0_64.o:<br/> XCOFF64 object files are not allowed in 32-bit mode.<br/>make: 1254-004 The error code from the last command is 8.<br/><br/><br/>Stop.<br/>bash-3.2# echo $ LD_RUN_PATH<br/>$ LD_RUN_PATH<br/>bash-3.2# echo $LD_RUN_PATH<br/><br/>bash-3.2#<br/><br/><br/><br/>This e-mail including any attachment is intended only for the recipient(s) named. It may contain confidential information and should not be read, copied or otherwise used by any other person. If you are not a named recipient, please contact the sender and delete the e-mail from your system. The sender does not accept any liability for errors or omissions in the content of this message or for viruses, or any damage due to the e-mail. The recipient is advised to have appropriate virus check software<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36614.html Thu, 23 May 2013 12:27:34 +0000 Re: DBI article in Korean by Martin J. Evans On 22/05/2013 06:55, Gabor Szabo wrote:<br/>&gt; Hi,<br/>&gt;<br/>&gt; recently I published an introduction to DBI article on the Perl Maven site:<br/>&gt; http://perlmaven.com/simple-database-access-using-perl-dbi-and-sql<br/>&gt;<br/>&gt; the really interesting thing is that articles are constantly being<br/>&gt; translated to 13 languages.<br/>&gt; The Korean version has already arrived:<br/>&gt; http://ko.perlmaven.com/simple-database-access-using-perl-dbi-and-sql<br/>&gt;<br/>&gt; regards<br/>&gt; Gabor<br/>&gt;<br/><br/>Gabor,<br/><br/>Another good tutorial - please keep up the good work of promoting Perl.<br/><br/>I have a few comments I hope you&#39;ll take constructively. Please ignore <br/>some of these if you think it is beyond the scope of your tutorial - it <br/>is difficult for me to tell the audience you are targeting.<br/><br/>&quot;Those drivers are compiled together with the C client libraries of the <br/>respective database engines.&quot; although this is mostly true there are <br/>pure perl DBDs.<br/><br/>&quot;The DSN (Data Source Name) (in the $dsn variable) is very straight <br/>forward. It contains the type of the database. That will be the clue to <br/>DBI which DBD to load. In case of SQLite, the only thing we really need <br/>is the path to the database file.&quot;<br/><br/>It may be a language thing but it is hardly a &quot;clue&quot;. DBI clearly states <br/>the connection string is dbi:DRIVER_NAME:something_else and DRIVER_NAMEs <br/>are registered with DBI. Its also not always as &quot;straight forward&quot; as <br/>you suggest as the something_else is usually a &#39;;&#39; separated string of <br/>attributes and values e.g. &quot;DRIVER={this driver}&quot;.<br/><br/>&quot;The call to disconnect from the database is optional as it will <br/>automatically be called when the variable $dbh goes out of scope, but it <br/>having it might be a clear indication for the next programmer dealing <br/>with this code, that you are done with the database. &quot;<br/><br/>There are a number of gotchas with this. You may still have a select <br/>statement active where you&#39;ve not fetched all the rows yet from the <br/>cursor in which case you&#39;ll get a warning. Also, you may be in the <br/>middle of a transaction and in that case the transaction may be rolled back.<br/><br/>&quot;INSERT&quot;<br/><br/>You&#39;ve presented an insert with an 4 columns and then inserted 3 - I <br/>know you know why but that might confuse people i.e., it is an auto <br/>incrementing column with a default value. SQLite is a bit different from <br/>other database in this respect as most would require you to define the <br/>id column as auto incrementing or having a default value.<br/><br/>&quot;UPDATE&quot;<br/><br/>Your example with the do method if fine but often people want to insert <br/>or update multiple rows and I think it is worth showing you can prepare <br/>a stmt and execute it many times with different parameters. As you do <br/>with the select example.<br/><br/>&quot;This is by far the most interesting part of the database access. As the <br/>SELECT statement can return a lot of rows and a lot of values in each <br/>row we cannot use a simple call to the do method. &quot;<br/><br/>Some DBDs really dislike using the do method for select stmts and <br/>especially multiple stmts in the same SQL e.g., do(q/something; select <br/>something from something/);<br/><br/>Martin<br/>-- <br/>Martin J. Evans<br/>Wetherby, UK<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36613.html Wed, 22 May 2013 19:08:19 +0000 ANNOUNCE: Informix Database Driver for Perl DBI Version 2013.0521(2013-05-21) released by Jonathan Leffler Informix Database Driver for Perl DBI Version 2013.0521 (2013-05-21) has<br/>been uploaded to CPAN.<br/><br/>IBM Informix Database Driver for Perl (also known as DBD::Informix) is<br/>the driver code that enables Perl 5.6.1 or later to access Informix<br/>databases via the DBI module (but if you are not already using Perl<br/>5.10.0 - or any later version - you should be planning to upgrade to<br/>Perl 5.16.2 or later). You will need the code for DBI version 1.38 or<br/>later as well (v1.623 - or any later version - is recommended). The<br/>code for DBD::Informix is available for download via:<br/><br/>http://www.perl.org/CPAN/modules/by-category/07_Database_Interfaces<br/>http://dbi.perl.org/<br/><br/>** When you successfully build this module, use the ItWorks (Perl)<br/>** script to report your configuration to the maintenance team (meaning<br/>** Jonathan Leffler) at dbd.informix@gmail.com.<br/>** The ItWorks script does not send email to anybody; you have to do<br/>** that yourself.<br/><br/>New in release 2013.0521<br/>* Support CSDK 4.10 for IDS 12.10<br/>* Change work email address to jleffler@google.com<br/><br/>New in release 2013.0206:<br/>* Bug fix release (not generally available).<br/>* Properly handle the new ESQL/C version 4.10.<br/><br/>New in release 2013.0113:<br/>* Bug fix release.<br/>* Workaround for bug in ESQL/C 3.70 and earlier that generates error -1820<br/> when reopening a cursor that previously fetched LVARCHAR data.<br/>* Fix for INFORMIXDIR containing Perl regex metacharacters.<br/>* Other minor improvements as documented in the ChangeLog.<br/>* Formal support for ESQL/C 7.x and 8.x (don&#39;t ask why the<br/> current version numbers are smaller) will be dropped after this<br/> release. The code won&#39;t go away yet, but it is beyond time to<br/> get off those versions. ESQL/C 5.20 is nominally supported for<br/> those still using Informix OnLine 5.20, but there is no<br/> testing on that platform.<br/><br/>New in release 2011.0612:<br/>* Minor bug fix release.<br/>* Main change is related to Perl internals and avoids the need for<br/> PERL_POLLUTE. This change is not visible to users except that Perl<br/> 5.14.x can use the fixed code.<br/>* Fixed problem with string that is not null terminated by ESQL/C library.<br/>* Clean up some 64-bit compilation warnings.<br/>* Build on AIX.<br/>* Evade problem with a DISTINCT type of LVARCHAR with NOT NULL (probably<br/> ESQL/C bug).<br/>* Fewer versions of Informix products are supported. You may try<br/> building DBD::Informix with other versions. If it works, great; if<br/> not, please upgrade to a supported Informix version.<br/><br/>Support email address:<br/>* This release is supported by Jonathan Leffler &lt;dbd.informix@gmail.com&gt;.<br/>* You may also report your bugs via the CPAN resolution tracking system:<br/> http://rt.cpan.org/<br/>* Such bug reports can be sent by email to bug-DBD-Informix@rt.cpan.org;<br/> they also get sent to dbd.informix@gmail.com, etc.<br/><br/>As always, see the ChangeLog file for details about what has changed.<br/><br/>Jonathan Leffler (jleffler@google.com, jonathan.leffler@gmail.com)<br/><br/>@(#)$Id: Announce,v 2013.6 2013/05/22 05:41:29 jleffler Exp $<br/><br/>-- <br/>Jonathan Leffler &lt;jonathan.leffler@gmail.com&gt; #include &lt;disclaimer.h&gt;<br/>Guardian of DBD::Informix - v2013.0521 - http://dbi.perl.org<br/>&quot;Blessed are we who can laugh at ourselves, for we shall never cease to be<br/>amused.&quot;<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36612.html Wed, 22 May 2013 06:27:54 +0000 DBI article in Korean by Gabor Szabo Hi,<br/><br/>recently I published an introduction to DBI article on the Perl Maven site:<br/>http://perlmaven.com/simple-database-access-using-perl-dbi-and-sql<br/><br/>the really interesting thing is that articles are constantly being<br/>translated to 13 languages.<br/>The Korean version has already arrived:<br/>http://ko.perlmaven.com/simple-database-access-using-perl-dbi-and-sql<br/><br/>regards<br/> Gabor<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36611.html Wed, 22 May 2013 05:55:40 +0000 ANNOUNCE DBI-1.627 by Tim Bunce file: $CPAN/authors/id/T/TI/TIMB/DBI-1.627.tar.gz<br/> size: 585833 bytes<br/> md5: aab49be51b0f4867a1894145b023d2c5<br/><br/><br/>The primary DBI repository is now on github under the<br/>ownership of the &quot;perl5-dbi&quot; team:<br/><br/> https://github.com/perl5-dbi/dbi<br/> https://github.com/perl5-dbi?tab=members<br/><br/><br/>=head2 Changes in DBI 1.627 - 16th May 2013<br/><br/> Fixed VERSION regression in DBI::SQL::Nano [Tim Bunce]<br/><br/>=head2 Changes in DBI 1.626 - 15th May 2013<br/><br/> Fixed pod text/link was reversed in a few cases RT#85168<br/> [H.Merijn Brand]<br/><br/> Handle aliasing of STORE&#39;d attributes in DBI::DBD::SqlEngine<br/> [Jens Rehsack]<br/><br/> Updated repository URI to git [Jens Rehsack]<br/><br/> Fixed skip() count arg in t/48dbi_dbd_sqlengine.t [Tim Bunce]<br/><br/>=head2 Changes in DBI 1.625 (svn r15595) 28th March 2013<br/><br/> Fixed heap-use-after-free during global destruction RT#75614<br/> thanks to Reini Urban.<br/> Fixed ignoring RootClass attribute during connect() by<br/> DBI::DBD::SqlEngine reported in RT#84260 by Michael Schout<br/><br/>=head2 Changes in DBI 1.624 (svn r15576) 22nd March 2013<br/><br/> Fixed Gofer for hash randomization in perl 5.17.10+ RT#84146<br/><br/> Clarify docs for can() re RT#83207<br/><br/>=cut<br/><br/>Enjoy!<br/><br/>Tim.<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36610.html Fri, 17 May 2013 07:35:56 +0000 RE: (Fwd) Perl DBI question by Vancura, Mark D Bruce,<br/>Thanks very much, I do see it in the several comments, and it appears to work as well!<br/><br/>Thanks to Tim and then particularly Bruce for showing me the way, I do appreciate it!<br/>So in a nutshell:<br/><br/>When a mysql command executed in a perl DBI do or execute method:<br/> load data local infile &#39;TEMP_LOAD_DATA_7318&#39; into table ports ;<br/><br/>Gives the error message:<br/> DBD::mysql::db do failed: The used command is not allowed with this MySQL version<br/><br/>It is because of the special treatment of load data, explained in 6.1.6. Security Issues with LOAD DATA LOCAL<br/><br/>*If you use LOAD DATA LOCAL in Perl scripts or other programs that read the [client] group from option files, you can add the local-infile=1 option to that group. However, to keep this from causing problems for programs that do not understand local-infile, specify it using the loose- prefix: <br/>[client]<br/>loose-local-infile=1<br/>*If LOAD DATA LOCAL is disabled, either in the server or the client, a client that attempts to issue such a statement receives the following error message: <br/>ERROR 1148: The used command is not allowed with this MySQL version<br/><br/>And the &quot;option files&quot; can be the dsn setup line in my perl program:<br/> my $dsn = &quot;DBI:mysql:database=test;host=myhost;mysql_local_infile=1;&quot;<br/><br/>And then the load data local infile command will work without this error, and load the data!<br/><br/>I hope this helps.<br/><br/>Mark Vancura<br/>LSI Corporation<br/><br/>-----Original Message-----<br/>From: Bruce Johnson [mailto:johnson@pharmacy.arizona.edu] <br/>Sent: Thursday, May 09, 2013 12:10 PM<br/>Cc: dbi-users@perl.org (dbi-users@perl.org)<br/>Subject: Re: (Fwd) Perl DBI question<br/><br/><br/>On May 9, 2013, at 10:47 AM, &quot;Vancura, Mark D (Mark)&quot; &lt;Mark.Vancura@lsi.com&gt; wrote:<br/><br/>&gt; Bruce,<br/>&gt; Thanks, the explanation makes sense, so I need to figure out how to <br/>&gt; follow through on this documented suggestion from: 6.1.6. Security <br/>&gt; Issues with LOAD DATA LOCAL<br/>&gt; <br/>&gt; *If you use LOAD DATA LOCAL in Perl scripts or other programs that read the [client] group from option files, you can add the local-infile=1 option to that group. However, to keep this from causing problems for programs that do not understand local-infile, specify it using the loose- prefix:<br/>&gt; [client]<br/>&gt; loose-local-infile=1<br/>&gt; <br/>&gt; *If LOAD DATA LOCAL is disabled, either in the server or the client, a client that attempts to issue such a statement receives the following error message: <br/>&gt; ERROR 1148: The used command is not allowed with this MySQL version<br/>&gt; <br/>&gt; Thus this fits my situation exactly, I just have to learn where the <br/>&gt; &quot;option files&quot; are and how to put the [client] loose-local-infile=1 into it.<br/>&gt; <br/>&gt; Any suggestions where to look this up?<br/><br/>right there in theat section you looked at, down in the comments is<br/><br/><br/>&quot;For use in perl DBI scripts, adding an option at the end of the data source definition for DBI-&gt;connect fixes the LOAD DATA LOCAL problem in some situations...<br/><br/>use strict;<br/>use DBI;<br/>my $dsn = &quot;DBI:mysql:mydb;mysql_local_infile=1&quot;;<br/>my $user = &quot;me&quot;;<br/>my $password = &quot;secret&quot;;<br/>my $dbh = DBI-&gt;connect($dsn,$user,$password);&quot;<br/><br/>the $dsn creation statement is where you can put a ton of options; mysql-only ones would be documented in the DBD:mysql documentation, I&#39;ll bet.<br/><br/><br/>--<br/>Bruce Johnson<br/>University of Arizona<br/>College of Pharmacy<br/>Information Technology Group<br/><br/>Institutions do not have opinions, merely customs<br/><br/><br/><br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36609.html Thu, 09 May 2013 19:39:45 +0000 Re: (Fwd) Perl DBI question by Bruce Johnson <br/>On May 9, 2013, at 10:47 AM, &quot;Vancura, Mark D (Mark)&quot; &lt;Mark.Vancura@lsi.com&gt; wrote:<br/><br/>&gt; Bruce,<br/>&gt; Thanks, the explanation makes sense, so I need to figure out how to follow through<br/>&gt; on this documented suggestion from: 6.1.6. Security Issues with LOAD DATA LOCAL<br/>&gt; <br/>&gt; *If you use LOAD DATA LOCAL in Perl scripts or other programs that read the [client] group from option files, you can add the local-infile=1 option to that group. However, to keep this from causing problems for programs that do not understand local-infile, specify it using the loose- prefix:<br/>&gt; [client]<br/>&gt; loose-local-infile=1<br/>&gt; <br/>&gt; *If LOAD DATA LOCAL is disabled, either in the server or the client, a client that attempts to issue such a statement receives the following error message: <br/>&gt; ERROR 1148: The used command is not allowed with this MySQL version<br/>&gt; <br/>&gt; Thus this fits my situation exactly, I just have to learn where the &quot;option files&quot; are<br/>&gt; and how to put the [client] loose-local-infile=1 into it.<br/>&gt; <br/>&gt; Any suggestions where to look this up?<br/><br/>right there in theat section you looked at, down in the comments is<br/><br/><br/>&quot;For use in perl DBI scripts, adding an option at the end of the data source definition for DBI-&gt;connect fixes the LOAD DATA LOCAL problem in some situations...<br/><br/>use strict;<br/>use DBI;<br/>my $dsn = &quot;DBI:mysql:mydb;mysql_local_infile=1&quot;; <br/>my $user = &quot;me&quot;;<br/>my $password = &quot;secret&quot;;<br/>my $dbh = DBI-&gt;connect($dsn,$user,$password);&quot;<br/><br/>the $dsn creation statement is where you can put a ton of options; mysql-only ones would be documented in the DBD:mysql documentation, I&#39;ll bet.<br/><br/><br/>-- <br/>Bruce Johnson<br/>University of Arizona<br/>College of Pharmacy<br/>Information Technology Group<br/><br/>Institutions do not have opinions, merely customs<br/><br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36608.html Thu, 09 May 2013 18:10:00 +0000 RE: (Fwd) Perl DBI question by Vancura, Mark D Bruce,<br/>Thanks, the explanation makes sense, so I need to figure out how to follow through<br/>on this documented suggestion from: 6.1.6. Security Issues with LOAD DATA LOCAL<br/><br/>*If you use LOAD DATA LOCAL in Perl scripts or other programs that read the [client] group from option files, you can add the local-infile=1 option to that group. However, to keep this from causing problems for programs that do not understand local-infile, specify it using the loose- prefix:<br/>[client]<br/>loose-local-infile=1<br/><br/>*If LOAD DATA LOCAL is disabled, either in the server or the client, a client that attempts to issue such a statement receives the following error message: <br/>ERROR 1148: The used command is not allowed with this MySQL version<br/><br/>Thus this fits my situation exactly, I just have to learn where the &quot;option files&quot; are<br/>and how to put the [client] loose-local-infile=1 into it.<br/><br/>Any suggestions where to look this up?<br/><br/>Thanks again for your help with this!<br/><br/>Mark Vancura<br/><br/>-----Original Message-----<br/>From: Bruce Johnson [mailto:johnson@pharmacy.arizona.edu] <br/>Sent: Thursday, May 09, 2013 11:26 AM<br/>To: dbi-users@perl.org (dbi-users@perl.org)<br/>Subject: Re: (Fwd) Perl DBI question<br/><br/><br/>On May 9, 2013, at 9:37 AM, Tim.Bunce@pobox.com wrote:<br/><br/>&gt; <br/>&gt; However, then I want to put data into it, with a command like the following:<br/>&gt; <br/>&gt; <br/>&gt; <br/>&gt; load data local infile &#39;TEMP_LOAD_DATA_26021&#39; into table ports ;<br/>&gt; <br/>&gt; <br/>&gt; <br/>&gt; And I get:<br/>&gt; <br/>&gt; DBD::mysql::db do failed: The used command is not allowed with this MySQL version at<br/>&gt; read_excel_write_mysql.pl line 140.<br/><br/>I find this in the MySQL docs:<br/><br/>&quot;If the statement fails, it is likely that your MySQL installation does not have local file capability enabled by default. See Section 6.1.6, &quot;Security Issues with LOAD DATA LOCAL&quot;, for information on how to change this.&quot;<br/><br/>&lt;http://dev.mysql.com/doc/refman/5.0/en/loading-tables.html&gt;<br/><br/>-- <br/>Bruce Johnson<br/>University of Arizona<br/>College of Pharmacy<br/>Information Technology Group<br/><br/>Institutions do not have opinions, merely customs<br/><br/><br/><br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36607.html Thu, 09 May 2013 17:48:06 +0000 Re: (Fwd) Perl DBI question by Bruce Johnson <br/>On May 9, 2013, at 9:37 AM, Tim.Bunce@pobox.com wrote:<br/><br/>&gt; <br/>&gt; However, then I want to put data into it, with a command like the following:<br/>&gt; <br/>&gt; <br/>&gt; <br/>&gt; load data local infile &#39;TEMP_LOAD_DATA_26021&#39; into table ports ;<br/>&gt; <br/>&gt; <br/>&gt; <br/>&gt; And I get:<br/>&gt; <br/>&gt; DBD::mysql::db do failed: The used command is not allowed with this MySQL version at<br/>&gt; read_excel_write_mysql.pl line 140.<br/><br/>I find this in the MySQL docs:<br/><br/>&quot;If the statement fails, it is likely that your MySQL installation does not have local file capability enabled by default. See Section 6.1.6, &ldquo;Security Issues with LOAD DATA LOCAL&rdquo;, for information on how to change this.&quot;<br/><br/>&lt;http://dev.mysql.com/doc/refman/5.0/en/loading-tables.html&gt;<br/><br/>-- <br/>Bruce Johnson<br/>University of Arizona<br/>College of Pharmacy<br/>Information Technology Group<br/><br/>Institutions do not have opinions, merely customs<br/><br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36606.html Thu, 09 May 2013 17:26:35 +0000 (Fwd) Perl DBI question by Tim.Bunce@pobox.com ----- Forwarded message from &quot;Vancura, Mark D (Mark)&quot; &lt;Mark.Vancura@lsi.com&gt; -----<br/><br/>Date: Thu, 9 May 2013 11:05:37 -0400<br/>From: &quot;Vancura, Mark D (Mark)&quot; &lt;Mark.Vancura@lsi.com&gt;<br/>To: &quot;Tim.Bunce@pobox.com&quot; &lt;Tim.Bunce@pobox.com&gt;<br/>Subject: Perl DBI question<br/><br/> Tim,<br/><br/> I am newly trying to make Perl and DBI work with mysql, with some success, e.g. I have been<br/><br/> able to get connected, accessing a database, and create a table in it, with this command:<br/><br/> MySQL_command = create table ports (<br/><br/> PortName varchar(40),<br/><br/> direction enum(&#39;input&#39;,&#39;output&#39;,&#39;inout&#39;),<br/><br/> digital_analog enum(&#39;digital&#39;,&#39;analog&#39;),<br/><br/> port_pad enum(&#39;port&#39;,&#39;pad&#39;),<br/><br/> powerSupplies varchar(20) ) ;<br/><br/> executed create table command<br/><br/><br/><br/> However, then I want to put data into it, with a command like the following:<br/><br/><br/><br/> load data local infile &#39;TEMP_LOAD_DATA_26021&#39; into table ports ;<br/><br/><br/><br/> And I get:<br/><br/> DBD::mysql::db do failed: The used command is not allowed with this MySQL version at<br/> read_excel_write_mysql.pl line 140.<br/><br/> DBD::mysql::db do failed: The used command is not allowed with this MySQL version at<br/> read_excel_write_mysql.pl line 140.<br/><br/><br/><br/> Whether I &quot;do&quot; it or &quot;prepare&quot; and then &quot;execute&quot; it.<br/><br/><br/><br/> If I run /usr/bin/mysql interactively, these commands are completely successful, so it hardly seems like<br/> a &quot;MySQL version&quot; issue.<br/><br/><br/><br/> But I also have not been able to find that message in any of the DBI/DBD code, thus I suspect part of it<br/> is coming from MySQL.<br/><br/><br/><br/> Is there some permission issue related to &quot;Load data local infile&quot; that I can/must manage. I am<br/> currently running as the &quot;root&quot; of<br/><br/> mysql, and thus I expect I have, or can get any permission necessary.<br/><br/><br/><br/> Thanks for any help you can provide.<br/><br/><br/><br/> Mark Vancura<br/><br/> LSI Corporation.<br/><br/><br/><br/><br/><br/>----- End forwarded message -----<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36605.html Thu, 09 May 2013 16:38:03 +0000 Re: Huh? 4=3? by Tim Bunce On Wed, May 08, 2013 at 10:58:02AM -0700, felix@crowfix.com wrote:<br/>&gt; On Wed, May 08, 2013 at 09:43:27AM -0700, Bill Ward wrote:<br/>&gt; &gt; Cool. That whole scalar vs list context thing is one of Perl&#39;s biggest<br/>&gt; &gt; strengths, but also one of its biggest weaknesses (in that it is a common<br/>&gt; &gt; source of bugs like this). When you see head-scratching problems, it&#39;s one<br/>&gt; &gt; of the first things to look for.<br/>&gt; <br/>&gt; Just guessing here, not familiar with the particular code in question.<br/>&gt; But I have been bitten a few times by code which returns false in the<br/>&gt; &#39;proper&#39; manner<br/>&gt; <br/>&gt; return;<br/>&gt; <br/>&gt; instead of forcing a scalar return<br/>&gt; <br/>&gt; return undef;<br/>&gt; <br/>&gt; or list return<br/>&gt; <br/>&gt; return ();<br/><br/>There is no difference between &quot;return;&quot; and &quot;return ();&quot;.<br/>Both return an empty list when called in list context<br/>and an undef when called in scalar context.<br/><br/>The &quot;return ();&quot; style does serve as a reminder to the reader.<br/><br/>&gt; Is that what&#39;s going on here -- the original code imparted a list<br/>&gt; context, which triggered another perl gotcha, whereby missing list<br/>&gt; values simply disappear:<br/>&gt; <br/>&gt; scalar(1,2,,4,,6) ---&gt; 4, not 6<br/><br/>That returns 6, or rather, it returns whatever happens to be the last value.<br/><br/>Tim.<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36604.html Thu, 09 May 2013 14:48:15 +0000 Re: Huh? 4=3? by Derek Jones Hi all,<br/><br/>&gt; <br/>&gt; You are right -- but this produces 4 first, as I had always thought it<br/>&gt; would, and then 6, as I don&#39;t quite understand. I would never use<br/>&gt; that kind of expression, and I sorta maybe understand why it says 6,<br/>&gt; but only in hindsight.<br/>&gt; <br/>&gt; #!/usr/bin/perl<br/>&gt; <br/>&gt; my @ary = (1,2,,4,,6);<br/>&gt; print &quot;Step 1: &quot;, scalar(@ary), &quot;\n&quot;;<br/>&gt; print &quot;Step 2: &quot;, scalar(1,2,,4,,6), &quot;\n&quot;;<br/><br/>In the first example, scalar is operating on the array to give you its size. So you do indeed get 4, because only 4 elements are allocated. That is *indeed* an unusual and somewhat apparently counterintutive feature since very often in Perl, otherwise &quot;undefined values&quot; have storage autovifified when assigned under the hood and if interrogated with the defined operator will give you false. i.e. &quot;the box is there but empty&quot;.<br/><br/>If you want to tell if the element is there at all - you can use exists.<br/><br/>E.g. <br/><br/>print &quot;Hi there element 4\n&quot; if exists $ary[4];<br/>print &quot;Hi there element 5\n&quot; if exists $ary[5];<br/><br/>which - in the case of @ary above would not print anything since only elements 0..3 exist.<br/><br/>If you wanted 6 elements, as was noted earlier, you would have to preserve the indexing of the &quot;missing&quot; elements by using undef (see below).<br/><br/>In the 2nd example, as we&#39;ve noted, - you are simply getting the last value in a list - 6 in this case.<br/><br/>So, the question is - why does Perl not keep the otherwise &quot;undefined&quot; elements in the list when they are being represented by ,, ?<br/><br/>And the answer is unusual in that it&#39;s still seeing <br/><br/>my @ary = (1,2,,4,,6);<br/><br/>as a sequence on the right hand side - in which there are only 4 scalar items.<br/><br/>So, to make it have 6, you&#39;d say:<br/><br/>my @ary = (1,2,undef,4,undef,6);<br/><br/>That will autovivify all 6 elements, each of which will exist now according to exists, but only 4 of which will have defined values according to defined.<br/><br/>Here&#39;s an updated version of your example:<br/><br/>------<br/><br/>#!/usr/bin/perl<br/><br/>print &quot;Original\n&quot;;<br/><br/>my @ary = (1,2,,4,,6);<br/><br/>print &quot;Step 1: &quot;, scalar(@ary), &quot;\n&quot;;<br/>print &quot;Step 2: &quot;, scalar(1,2,,4,,6), &quot;\n&quot;;<br/><br/>print &quot;Hi there element 4\n&quot; if exists $ary[4]; # Does not print<br/>print &quot;Hi there element 5\n&quot; if exists $ary[5]; # Does not print<br/><br/>print &quot;New\n&quot;;<br/><br/>my @ary2 = (1,2,undef,4,undef,6);<br/><br/>print &quot;Step 1: &quot;, scalar(@ary2), &quot;\n&quot;;<br/>print &quot;Step 2: &quot;, scalar(1,2,undef,4,undef,6), &quot;\n&quot;;<br/><br/>print &quot;Hi there element 4\n&quot; if exists $ary2[4]; #Now prints<br/>print &quot;Hi there element 5\n&quot; if exists $ary2[5] #Now prints<br/><br/><br/>------<br/><br/>This is somewhat counterintuitive in that, if you had an array where you specified the size of a slice on the left, Perl would automatically allocate that number of elements and automatically assign undef to the ones not otherwise filled. But&hellip;. not in the way you expect.<br/><br/>E.g.<br/><br/>@ary3[0..5] = (1,2,,4,,6);<br/><br/>Does *not* preserve the gaps - for the exact same reason as above. But, you do get elements 4 and 5 now - but it&#39;s *those* that are undef - and the actual list (1,2,4,6) gets assigned to elements 0..3<br/><br/>E.g.<br/><br/><br/>print &quot;New2\n&quot;;<br/><br/>my @ary3;<br/><br/>@ary3[0..5] = (1,2,,4,,6);<br/><br/>print &quot;Size: &quot;, scalar(@ary3), &quot;\n&quot;;<br/><br/>print &quot;Hi there element 4\n&quot; if exists $ary3[4]; #Prints<br/>print &quot;Hi there element 5\n&quot; if exists $ary3[5]; #Prints<br/><br/>print &quot;Hidef 4\n&quot; if defined $ary3[4]; #Does not print<br/>print &quot;Hidef 5\n&quot; if defined $ary3[5]; #Does not print<br/><br/><br/>$&quot;=&quot;:&quot;;<br/><br/>print &quot;Elements\n&quot;;<br/><br/>print &quot;--&gt;@ary3&lt;--\n&quot;; # Notice the empty (undefined) two elements at the *end*&hellip; ;-)<br/><br/>Kind regards<br/><br/>Derek.<br/><br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36603.html Thu, 09 May 2013 03:50:39 +0000 Re: Huh? 4=3? by felix On Wed, May 08, 2013 at 06:22:09PM -0700, James Marshall wrote:<br/>&gt; It shows 6 because a comma-separated literal list, when interpreted as a<br/>&gt; scalar, evaluates to the final value in the list, not the length of the<br/>&gt; list. If you evaluate &quot;scalar(1,2,,4,,7)&quot;, it will equal 7. That&#39;s the<br/>&gt; comma operator at work-- even though it looks like a list (and both use<br/>&gt; commas), it&#39;s really just a sequential set of expressions.<br/><br/>I think I&#39;ve forgotten more useless perl trivia than I should have...<br/>I use the comma operator sometimes, but never inside scalar(). Didn&#39;t<br/>recognize it. TMTOWTMakeAMess.<br/><br/>-- <br/> ... _._. ._ ._. . _._. ._. ___ .__ ._. . .__. ._ .. ._.<br/> Felix Finch: scarecrow repairman &amp; rocket surgeon / felix@crowfix.com<br/> GPG = E987 4493 C860 246C 3B1E 6477 7838 76E9 182E 8151 ITAR license #4933<br/>I&#39;ve found a solution to Fermat&#39;s Last Theorem but I see I&#39;ve run out of room o<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36602.html Thu, 09 May 2013 02:54:30 +0000 Re: Huh? 4=3? by James Marshall It shows 6 because a comma-separated literal list, when interpreted as a<br/>scalar, evaluates to the final value in the list, not the length of the<br/>list. If you evaluate &quot;scalar(1,2,,4,,7)&quot;, it will equal 7. That&#39;s the<br/>comma operator at work-- even though it looks like a list (and both use<br/>commas), it&#39;s really just a sequential set of expressions.<br/><br/>Cheers,<br/>James<br/><br/><br/>On Wed, May 8, 2013 at 5:14 PM, &lt;felix@crowfix.com&gt; wrote:<br/><br/>&gt; On Wed, May 08, 2013 at 02:04:37PM -0400, Derek Jones wrote:<br/>&gt; &gt; Huh?<br/>&gt; &gt;<br/>&gt; &gt; That produces 6 - as it should. What version of Perl are you working<br/>&gt; with?<br/>&gt;<br/>&gt; &gt; On May 8, 2013, at 1:58 PM, felix@crowfix.com wrote:<br/>&gt; &gt;<br/>&gt; &gt; &gt; scalar(1,2,,4,,6)<br/>&gt;<br/>&gt; You are right -- but this produces 4 first, as I had always thought it<br/>&gt; would, and then 6, as I don&#39;t quite understand. I would never use<br/>&gt; that kind of expression, and I sorta maybe understand why it says 6,<br/>&gt; but only in hindsight.<br/>&gt;<br/>&gt; #!/usr/bin/perl<br/>&gt;<br/>&gt; my @ary = (1,2,,4,,6);<br/>&gt; print &quot;Step 1: &quot;, scalar(@ary), &quot;\n&quot;;<br/>&gt; print &quot;Step 2: &quot;, scalar(1,2,,4,,6), &quot;\n&quot;;<br/>&gt;<br/>&gt; --<br/>&gt; ... _._. ._ ._. . _._. ._. ___ .__ ._. . .__. ._ .. ._.<br/>&gt; Felix Finch: scarecrow repairman &amp; rocket surgeon / felix@crowfix.com<br/>&gt; GPG = E987 4493 C860 246C 3B1E 6477 7838 76E9 182E 8151 ITAR license<br/>&gt; #4933<br/>&gt; I&#39;ve found a solution to Fermat&#39;s Last Theorem but I see I&#39;ve run out of<br/>&gt; room o<br/>&gt;<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36601.html Thu, 09 May 2013 01:22:28 +0000 Re: Huh? 4=3? by felix On Wed, May 08, 2013 at 02:04:37PM -0400, Derek Jones wrote:<br/>&gt; Huh?<br/>&gt; <br/>&gt; That produces 6 - as it should. What version of Perl are you working with?<br/><br/>&gt; On May 8, 2013, at 1:58 PM, felix@crowfix.com wrote:<br/>&gt; <br/>&gt; &gt; scalar(1,2,,4,,6) <br/><br/>You are right -- but this produces 4 first, as I had always thought it<br/>would, and then 6, as I don&#39;t quite understand. I would never use<br/>that kind of expression, and I sorta maybe understand why it says 6,<br/>but only in hindsight.<br/><br/> #!/usr/bin/perl<br/><br/> my @ary = (1,2,,4,,6);<br/> print &quot;Step 1: &quot;, scalar(@ary), &quot;\n&quot;;<br/> print &quot;Step 2: &quot;, scalar(1,2,,4,,6), &quot;\n&quot;;<br/><br/>-- <br/> ... _._. ._ ._. . _._. ._. ___ .__ ._. . .__. ._ .. ._.<br/> Felix Finch: scarecrow repairman &amp; rocket surgeon / felix@crowfix.com<br/> GPG = E987 4493 C860 246C 3B1E 6477 7838 76E9 182E 8151 ITAR license #4933<br/>I&#39;ve found a solution to Fermat&#39;s Last Theorem but I see I&#39;ve run out of room o<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36600.html Thu, 09 May 2013 00:15:14 +0000 Re: Huh? 4=3? by Chad Wallace On Wed, 8 May 2013 09:30:18 -0700<br/>Bill Ward &lt;bill@wards.net&gt; wrote:<br/><br/>&gt; My guess is that get_value() is returning an empty array rather than<br/>&gt; an undef scalar when the values are null. Try copying each one to a<br/>&gt; scalar variable and including the list of variables in the execute().<br/>&gt; It&#39;d be more readable that way anyway. Or if you must put them all<br/>&gt; one one line like this, add the scalar() function on each argument.<br/><br/>I use this idiom:<br/><br/>... get_value(...) || undef, ...get_value(...) || undef, ...<br/><br/>If you don&#39;t want undef, you can use &quot;|| &#39;&#39;&quot; or &quot;|| 0&quot; instead.<br/><br/><br/>&gt; On Wed, May 8, 2013 at 9:18 AM, Bruce Johnson<br/>&gt; &lt;johnson@pharmacy.arizona.edu&gt;wrote:<br/>&gt; <br/>&gt; &gt; Getting the error:<br/>&gt; &gt;<br/>&gt; &gt; DBD::Oracle::st execute failed: called with 3 bind variables when 4<br/>&gt; &gt; are needed [for Statement &quot;insert into employee_fte_annualrate_l<br/>&gt; &gt; (emplid, emptype_cd, fte, annual_rate) values(?,?,?,?)&quot; with<br/>&gt; &gt; ParamValues: :p1=&#39;22057713&#39;, :p2=&#39;R&#39;, :p3=&#39;1&#39;, :p4=&#39;47311&#39;]<br/>&gt; &gt; at /home/oraweb/perl/frs/ kfsupdate.pl line 64, &lt;DATA&gt; line 581.<br/>&gt; &gt;<br/>&gt; &gt; I&#39;m pretty sure I count 4 placeholders and 4 parameter values in<br/>&gt; &gt; that error message, so where is the &#39;3 bind variables&#39; coming from?<br/>&gt; &gt;<br/>&gt; &gt; here&#39;s the cursor definition:<br/>&gt; &gt;<br/>&gt; &gt; my $csr_emp_info = $lda-&gt;prepare(&quot;insert into<br/>&gt; &gt; employee_fte_annualrate_l (emplid, emptype_cd, fte, annual_rate)<br/>&gt; &gt; values(?,?,?,?)&quot;);<br/>&gt; &gt;<br/>&gt; &gt; I&#39;m pulling the data from an LDAP query, here&#39;s the offending line<br/>&gt; &gt; 64 (where $mesg is the returned LDAP object):<br/>&gt; &gt;<br/>&gt; &gt; $csr_emp_info-&gt;execute($mesg-&gt;entry($n)-&gt;get_value(&#39;emplId&#39;),<br/>&gt; &gt; $mesg-&gt;entry($n)-&gt;get_value(&#39;employeeType&#39;),$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeFTE&#39;),$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeTotalAnnualRate&#39;));<br/>&gt; &gt;<br/>&gt; &gt; All the columns allow null entries, and these are all single-valued<br/>&gt; &gt; entries in the LDAP schema.<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt; --<br/>&gt; &gt; Bruce Johnson<br/>&gt; &gt; University of Arizona<br/>&gt; &gt; College of Pharmacy<br/>&gt; &gt; Information Technology Group<br/>&gt; &gt;<br/>&gt; &gt; Institutions do not have opinions, merely customs<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; <br/>&gt; <br/><br/><br/>-- <br/><br/>C. Chad Wallace, B.Sc.<br/>The Lodging Company<br/>http://www.lodgingcompany.com/<br/>OpenPGP Public Key ID: 0x262208A0<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36599.html Wed, 08 May 2013 19:47:58 +0000 Re: Huh? 4=3? by Bruce Johnson <br/>On May 8, 2013, at 10:58 AM, felix@crowfix.com wrote:<br/><br/>&gt; <br/>&gt; Is that what&#39;s going on here -- the original code imparted a list<br/>&gt; context, which triggered another perl gotcha, whereby missing list<br/>&gt; values simply disappear:<br/>&gt; <br/><br/>And I remember now the reason the error message is confusing, I&#39;ll bet that was an actual bug I discovered in (iirc) DBI or DBD::Oracle which was fixed, but not on this particular server, because we&#39;re still constrained to running a very old version for various reasons. The error message actually displays the values for the last successful insert not the one that failed.<br/><br/>Mystery now solved.<br/><br/>-- <br/>Bruce Johnson<br/>University of Arizona<br/>College of Pharmacy<br/>Information Technology Group<br/><br/>Institutions do not have opinions, merely customs<br/><br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36598.html Wed, 08 May 2013 18:21:29 +0000 Re: Huh? 4=3? by felix On Wed, May 08, 2013 at 09:43:27AM -0700, Bill Ward wrote:<br/>&gt; Cool. That whole scalar vs list context thing is one of Perl&#39;s biggest<br/>&gt; strengths, but also one of its biggest weaknesses (in that it is a common<br/>&gt; source of bugs like this). When you see head-scratching problems, it&#39;s one<br/>&gt; of the first things to look for.<br/><br/>Just guessing here, not familiar with the particular code in question.<br/>But I have been bitten a few times by code which returns false in the<br/>&#39;proper&#39; manner<br/><br/> return;<br/><br/>instead of forcing a scalar return<br/><br/> return undef;<br/><br/>or list return<br/><br/> return ();<br/><br/>Is that what&#39;s going on here -- the original code imparted a list<br/>context, which triggered another perl gotcha, whereby missing list<br/>values simply disappear:<br/><br/> scalar(1,2,,4,,6) ---&gt; 4, not 6<br/><br/>I understand and appreciate most of Perl&#39;s little tricks, but they<br/>sometimes catch me by surprise and elicit a few curses while debugging.<br/><br/>-- <br/> ... _._. ._ ._. . _._. ._. ___ .__ ._. . .__. ._ .. ._.<br/> Felix Finch: scarecrow repairman &amp; rocket surgeon / felix@crowfix.com<br/> GPG = E987 4493 C860 246C 3B1E 6477 7838 76E9 182E 8151 ITAR license #4933<br/>I&#39;ve found a solution to Fermat&#39;s Last Theorem but I see I&#39;ve run out of room o<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36597.html Wed, 08 May 2013 17:58:26 +0000 Re: Huh? 4=3? by Bill Ward Cool. That whole scalar vs list context thing is one of Perl&#39;s biggest<br/>strengths, but also one of its biggest weaknesses (in that it is a common<br/>source of bugs like this). When you see head-scratching problems, it&#39;s one<br/>of the first things to look for.<br/><br/><br/>On Wed, May 8, 2013 at 9:39 AM, Bruce Johnson<br/>&lt;johnson@pharmacy.arizona.edu&gt;wrote:<br/><br/>&gt; Well, changing the code to:<br/>&gt;<br/>&gt; my $eid=$mesg-&gt;entry($n)-&gt;get_value(&#39;emplId&#39;);<br/>&gt; my $etp=$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeType&#39;);<br/>&gt; my $efte=$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeFTE&#39;);<br/>&gt; my $ear=$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeTotalAnnualRate&#39;);<br/>&gt;<br/>&gt; $csr_emp_info-&gt;execute($eid,$etp,$efte,$ear);<br/>&gt;<br/>&gt; like you suggested fixed it.<br/>&gt;<br/>&gt; Thanks.<br/>&gt;<br/>&gt; On May 8, 2013, at 9:30 AM, Bill Ward &lt;bill@wards.net&gt; wrote:<br/>&gt;<br/>&gt; &gt; My guess is that get_value() is returning an empty array rather than an<br/>&gt; undef scalar when the values are null. Try copying each one to a scalar<br/>&gt; variable and including the list of variables in the execute(). It&#39;d be more<br/>&gt; readable that way anyway. Or if you must put them all one one line like<br/>&gt; this, add the scalar() function on each argument.<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt; On Wed, May 8, 2013 at 9:18 AM, Bruce Johnson &lt;<br/>&gt; johnson@pharmacy.arizona.edu&gt; wrote:<br/>&gt; &gt; Getting the error:<br/>&gt; &gt;<br/>&gt; &gt; DBD::Oracle::st execute failed: called with 3 bind variables when 4 are<br/>&gt; needed [for Statement &quot;insert into employee_fte_annualrate_l (emplid,<br/>&gt; emptype_cd, fte, annual_rate) values(?,?,?,?)&quot; with ParamValues:<br/>&gt; :p1=&#39;22057713&#39;, :p2=&#39;R&#39;, :p3=&#39;1&#39;, :p4=&#39;47311&#39;] at /home/oraweb/perl/frs/<br/>&gt; kfsupdate.pl line 64, &lt;DATA&gt; line 581.<br/>&gt; &gt;<br/>&gt; &gt; I&#39;m pretty sure I count 4 placeholders and 4 parameter values in that<br/>&gt; error message, so where is the &#39;3 bind variables&#39; coming from?<br/>&gt; &gt;<br/>&gt; &gt; here&#39;s the cursor definition:<br/>&gt; &gt;<br/>&gt; &gt; my $csr_emp_info = $lda-&gt;prepare(&quot;insert into employee_fte_annualrate_l<br/>&gt; (emplid, emptype_cd, fte, annual_rate) values(?,?,?,?)&quot;);<br/>&gt; &gt;<br/>&gt; &gt; I&#39;m pulling the data from an LDAP query, here&#39;s the offending line 64<br/>&gt; (where $mesg is the returned LDAP object):<br/>&gt; &gt;<br/>&gt; &gt; $csr_emp_info-&gt;execute($mesg-&gt;entry($n)-&gt;get_value(&#39;emplId&#39;),<br/>&gt; $mesg-&gt;entry($n)-&gt;get_value(&#39;employeeType&#39;),$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeFTE&#39;),$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeTotalAnnualRate&#39;));<br/>&gt; &gt;<br/>&gt; &gt; All the columns allow null entries, and these are all single-valued<br/>&gt; entries in the LDAP schema.<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt; --<br/>&gt; &gt; Bruce Johnson<br/>&gt; &gt; University of Arizona<br/>&gt; &gt; College of Pharmacy<br/>&gt; &gt; Information Technology Group<br/>&gt; &gt;<br/>&gt; &gt; Institutions do not have opinions, merely customs<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt; --<br/>&gt; &gt; Check out my LEGO blog at brickpile.com<br/>&gt; &gt; Follow/friend me: Facebook &bull; Flickr &bull; Twitter &bull; LinkedIn<br/>&gt;<br/>&gt; --<br/>&gt; Bruce Johnson<br/>&gt; University of Arizona<br/>&gt; College of Pharmacy<br/>&gt; Information Technology Group<br/>&gt;<br/>&gt; Institutions do not have opinions, merely customs<br/>&gt;<br/>&gt;<br/>&gt;<br/><br/><br/>-- <br/>Check out my LEGO blog at brickpile.com &lt;http://www.brickpile.com/&gt;<br/>Follow/friend me: Facebook &lt;http://facebook.com/billward&gt; &bull;<br/>Flickr&lt;http://flickr.com/photos/billward/&gt;&bull;<br/>Twitter &lt;http://twitter.com/williamward&gt; &bull;<br/>LinkedIn&lt;http://www.linkedin.com/pub/william-ward/63/393/985/&gt;<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36596.html Wed, 08 May 2013 16:44:19 +0000 Re: Huh? 4=3? by Bruce Johnson Well, changing the code to:<br/><br/>my $eid=$mesg-&gt;entry($n)-&gt;get_value(&#39;emplId&#39;);<br/>my $etp=$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeType&#39;);<br/>my $efte=$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeFTE&#39;);<br/>my $ear=$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeTotalAnnualRate&#39;);<br/> <br/>$csr_emp_info-&gt;execute($eid,$etp,$efte,$ear);<br/><br/>like you suggested fixed it.<br/><br/>Thanks.<br/><br/>On May 8, 2013, at 9:30 AM, Bill Ward &lt;bill@wards.net&gt; wrote:<br/><br/>&gt; My guess is that get_value() is returning an empty array rather than an undef scalar when the values are null. Try copying each one to a scalar variable and including the list of variables in the execute(). It&#39;d be more readable that way anyway. Or if you must put them all one one line like this, add the scalar() function on each argument.<br/>&gt; <br/>&gt; <br/>&gt; On Wed, May 8, 2013 at 9:18 AM, Bruce Johnson &lt;johnson@pharmacy.arizona.edu&gt; wrote:<br/>&gt; Getting the error:<br/>&gt; <br/>&gt; DBD::Oracle::st execute failed: called with 3 bind variables when 4 are needed [for Statement &quot;insert into employee_fte_annualrate_l (emplid, emptype_cd, fte, annual_rate) values(?,?,?,?)&quot; with ParamValues: :p1=&#39;22057713&#39;, :p2=&#39;R&#39;, :p3=&#39;1&#39;, :p4=&#39;47311&#39;] at /home/oraweb/perl/frs/kfsupdate.pl line 64, &lt;DATA&gt; line 581.<br/>&gt; <br/>&gt; I&#39;m pretty sure I count 4 placeholders and 4 parameter values in that error message, so where is the &#39;3 bind variables&#39; coming from?<br/>&gt; <br/>&gt; here&#39;s the cursor definition:<br/>&gt; <br/>&gt; my $csr_emp_info = $lda-&gt;prepare(&quot;insert into employee_fte_annualrate_l (emplid, emptype_cd, fte, annual_rate) values(?,?,?,?)&quot;);<br/>&gt; <br/>&gt; I&#39;m pulling the data from an LDAP query, here&#39;s the offending line 64 (where $mesg is the returned LDAP object):<br/>&gt; <br/>&gt; $csr_emp_info-&gt;execute($mesg-&gt;entry($n)-&gt;get_value(&#39;emplId&#39;), $mesg-&gt;entry($n)-&gt;get_value(&#39;employeeType&#39;),$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeFTE&#39;),$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeTotalAnnualRate&#39;));<br/>&gt; <br/>&gt; All the columns allow null entries, and these are all single-valued entries in the LDAP schema.<br/>&gt; <br/>&gt; <br/>&gt; --<br/>&gt; Bruce Johnson<br/>&gt; University of Arizona<br/>&gt; College of Pharmacy<br/>&gt; Information Technology Group<br/>&gt; <br/>&gt; Institutions do not have opinions, merely customs<br/>&gt; <br/>&gt; <br/>&gt; <br/>&gt; <br/>&gt; <br/>&gt; -- <br/>&gt; Check out my LEGO blog at brickpile.com<br/>&gt; Follow/friend me: Facebook &bull; Flickr &bull; Twitter &bull; LinkedIn<br/><br/>-- <br/>Bruce Johnson<br/>University of Arizona<br/>College of Pharmacy<br/>Information Technology Group<br/><br/>Institutions do not have opinions, merely customs<br/><br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36595.html Wed, 08 May 2013 16:39:51 +0000 Re: Huh? 4=3? by Bill Ward My guess is that get_value() is returning an empty array rather than an<br/>undef scalar when the values are null. Try copying each one to a scalar<br/>variable and including the list of variables in the execute(). It&#39;d be more<br/>readable that way anyway. Or if you must put them all one one line like<br/>this, add the scalar() function on each argument.<br/><br/><br/>On Wed, May 8, 2013 at 9:18 AM, Bruce Johnson<br/>&lt;johnson@pharmacy.arizona.edu&gt;wrote:<br/><br/>&gt; Getting the error:<br/>&gt;<br/>&gt; DBD::Oracle::st execute failed: called with 3 bind variables when 4 are<br/>&gt; needed [for Statement &quot;insert into employee_fte_annualrate_l (emplid,<br/>&gt; emptype_cd, fte, annual_rate) values(?,?,?,?)&quot; with ParamValues:<br/>&gt; :p1=&#39;22057713&#39;, :p2=&#39;R&#39;, :p3=&#39;1&#39;, :p4=&#39;47311&#39;] at /home/oraweb/perl/frs/<br/>&gt; kfsupdate.pl line 64, &lt;DATA&gt; line 581.<br/>&gt;<br/>&gt; I&#39;m pretty sure I count 4 placeholders and 4 parameter values in that<br/>&gt; error message, so where is the &#39;3 bind variables&#39; coming from?<br/>&gt;<br/>&gt; here&#39;s the cursor definition:<br/>&gt;<br/>&gt; my $csr_emp_info = $lda-&gt;prepare(&quot;insert into employee_fte_annualrate_l<br/>&gt; (emplid, emptype_cd, fte, annual_rate) values(?,?,?,?)&quot;);<br/>&gt;<br/>&gt; I&#39;m pulling the data from an LDAP query, here&#39;s the offending line 64<br/>&gt; (where $mesg is the returned LDAP object):<br/>&gt;<br/>&gt; $csr_emp_info-&gt;execute($mesg-&gt;entry($n)-&gt;get_value(&#39;emplId&#39;),<br/>&gt; $mesg-&gt;entry($n)-&gt;get_value(&#39;employeeType&#39;),$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeFTE&#39;),$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeTotalAnnualRate&#39;));<br/>&gt;<br/>&gt; All the columns allow null entries, and these are all single-valued<br/>&gt; entries in the LDAP schema.<br/>&gt;<br/>&gt;<br/>&gt; --<br/>&gt; Bruce Johnson<br/>&gt; University of Arizona<br/>&gt; College of Pharmacy<br/>&gt; Information Technology Group<br/>&gt;<br/>&gt; Institutions do not have opinions, merely customs<br/>&gt;<br/>&gt;<br/>&gt;<br/><br/><br/>-- <br/>Check out my LEGO blog at brickpile.com &lt;http://www.brickpile.com/&gt;<br/>Follow/friend me: Facebook &lt;http://facebook.com/billward&gt; &bull;<br/>Flickr&lt;http://flickr.com/photos/billward/&gt;&bull;<br/>Twitter &lt;http://twitter.com/williamward&gt; &bull;<br/>LinkedIn&lt;http://www.linkedin.com/pub/william-ward/63/393/985/&gt;<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36594.html Wed, 08 May 2013 16:31:14 +0000 Huh? 4=3? by Bruce Johnson Getting the error:<br/><br/>DBD::Oracle::st execute failed: called with 3 bind variables when 4 are needed [for Statement &quot;insert into employee_fte_annualrate_l (emplid, emptype_cd, fte, annual_rate) values(?,?,?,?)&quot; with ParamValues: :p1=&#39;22057713&#39;, :p2=&#39;R&#39;, :p3=&#39;1&#39;, :p4=&#39;47311&#39;] at /home/oraweb/perl/frs/kfsupdate.pl line 64, &lt;DATA&gt; line 581.<br/><br/>I&#39;m pretty sure I count 4 placeholders and 4 parameter values in that error message, so where is the &#39;3 bind variables&#39; coming from?<br/><br/>here&#39;s the cursor definition:<br/><br/>my $csr_emp_info = $lda-&gt;prepare(&quot;insert into employee_fte_annualrate_l (emplid, emptype_cd, fte, annual_rate) values(?,?,?,?)&quot;);<br/><br/>I&#39;m pulling the data from an LDAP query, here&#39;s the offending line 64 (where $mesg is the returned LDAP object):<br/><br/>$csr_emp_info-&gt;execute($mesg-&gt;entry($n)-&gt;get_value(&#39;emplId&#39;), $mesg-&gt;entry($n)-&gt;get_value(&#39;employeeType&#39;),$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeFTE&#39;),$mesg-&gt;entry($n)-&gt;get_value(&#39;employeeTotalAnnualRate&#39;));<br/><br/>All the columns allow null entries, and these are all single-valued entries in the LDAP schema.<br/><br/><br/>-- <br/>Bruce Johnson<br/>University of Arizona<br/>College of Pharmacy<br/>Information Technology Group<br/><br/>Institutions do not have opinions, merely customs<br/><br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36593.html Wed, 08 May 2013 16:18:31 +0000 Re: Relevance of ChildHandles by Jens Rehsack On 08.05.13 00:05, Tim Bunce wrote:<br/>[...]<br/>&gt; At this stage in the life of the DBI I think it&#39;s reasonable to assume<br/>&gt; that there isn&#39;t a leak in the DBI itself. If there was then a lot of<br/>&gt; people would be affected and complaining about it.<br/><br/>I think this assumption is heavily wrong. From my jobs I learned one<br/>thing the last years: do it quick. To illustrate what I mean saying<br/>that, see following exampple.<br/><br/>In a particular project we had the issue, that every monday morning<br/>our web-interface was inoperable because of an invalid $dbh (which<br/>was cached). The question from our manager was: can you say in 10<br/>minutes why and how to fix and can you guarantee fix it until lunch?<br/>Otherwise - implement a cron controlled web-server restart each<br/>morning at 5.<br/><br/>Because of personal interests I debugged later into it (and fixed<br/>it a few weeks later - &quot;guaranteed&quot;) ...<br/><br/>What I&#39;m trying to say - when administrators see there web-server<br/>machines running out of memory, the implement a scheduled restart<br/>in the pool of machines.<br/><br/>I really don&#39;t know business relying on web-services running<br/>qualified monitoring with performance measurement (some do, but<br/>don&#39;t know what they measure and finally one company really does).<br/><br/>Sorry for complaining ;)<br/><br/>Cheers<br/>-- <br/>Jens Rehsack<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36592.html Wed, 08 May 2013 11:58:46 +0000 RE: DBI Module installtion by Anoop Kumar Paramesweran Hi Support,<br/><br/>DBI has been successfully installed after the instaltion of XLC trail version..Now I am facing issue with DBD-oracle..<br/><br/>I was trying to install DBD module but I receve the errors<br/><br/>bash-3.2# perl Makefile.PL<br/>Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/<br/><br/>Configuring DBD::Oracle for perl 5.010001 on aix (aix-thread-multi)<br/><br/>Remember to actually *READ* the README file! Especially if you have any problems.<br/><br/>Trying to find an ORACLE_HOME<br/>Your LIBPATH env var is set to &#39;&#39;<br/><br/> The ORACLE_HOME environment variable is not set and I couldn&#39;t guess it.<br/> It must be set to hold the path to an Oracle installation directory<br/> on this machine (or a machine with a compatible architecture).<br/> See the appropriate README file for your OS for more information.<br/> ABORTED!<br/> ================================================<br/><br/> After this I set the path<br/><br/> export ORACLE_BASE=/u01/app/oracle/product<br/> export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1<br/> export SHLIB_PATH=$ORACLE_HOME/lib<br/> export LD_LIBRARY_PATH=$ORACLE_HOME/lib<br/> export PATH=$ORACLE_HOME/bin:/usr/bin:/etc:/usr/bin/x11:/usr/local/bin:/usr/vacpp/bin:$PATH<br/> export ORACLE_SID=<br/><br/><br/> Then I receive these errors<br/>==================================================================<br/> bash-3.2# perl Makefile.PL<br/> Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/<br/><br/> Configuring DBD::Oracle for perl 5.010001 on aix (aix-thread-multi)<br/><br/> Remember to actually *READ* the README file! Especially if you have any problems.<br/><br/> Installing on a aix, Ver#5.3<br/> Using Oracle in /u01/app/oracle/product/11.2.0/dbhome_1<br/> DEFINE _SQLPLUS_RELEASE = &quot;1102000300&quot; (CHAR)<br/> Oracle version 11.2.0.3 (11.2)<br/> Found /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/> Using /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/> Your LIBPATH env var is set to &#39;&#39;<br/> WARNING: Your LIBPATH env var doesn&#39;t include &#39;/u01/app/oracle/product/11.2.0/dbhome_1/lib&#39; but probably needs to.<br/> Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk<br/> Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk<br/> Deleting -b64 from COMPOBJS because -b64 doesn&#39;t exist.<br/> WARNING: Oracle /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk doesn&#39;t define a &#39;build&#39; rule.<br/><br/> WARNING: I will now try to guess how to build and link DBD::Oracle for you.<br/> This kind of guess work is very error prone and Oracle-version sensitive.<br/> It is possible that it won&#39;t be supported in future versions of DBD::Oracle.<br/> *PLEASE* notify dbi-users about exactly _why_ you had to build it this way.<br/><br/> Found header files in /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public.<br/><br/> client_version=11.2<br/><br/><br/> DEFINE= -DUTF8_SUPPORT -DORA_OCI_VERSION=\&quot;11.2.0.3\&quot; -DORA_OCI_102 -DORA_OCI_112<br/><br/><br/> Checking for functioning wait.ph<br/><br/><br/> System: perl5.010001 aix dennis01 3 5 00c72e9a4c00<br/> Compiler: xlc_r -q32 -O -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong<br/> Linker: /usr/bin/ld<br/> Sysliblist: /lib/crt0_64.o -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat<br/> Oracle makefiles would have used these definitions but we override them:<br/> CC: $(ORACLE_HOME)/bin/oraxlc $(ORAXLCFLAGS)<br/> CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\<br/> $(SHARED_CFLAG) $(USRFLAGS)<br/> [$(GFLAG) -O3 $(CDEBUG) -q64 -DSS_64BIT_SERVER -qwarn64 -qinfo=uni -DAIXRIOS -qflag=s:s -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -DLDAP_CM $(LPFLAGS) $(PLSQLNCGFLAGS) $(USRFLAGS)]<br/> LDFLAGS: -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME)<br/> [-o $@ -L/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -L$(LIBHOME)]<br/> Linking with /lib/crt0_64.o -lclntsh -brtl -lld -lm -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads [from $(OCISHAREDLIBS)]<br/><br/><br/> WARNING: You will may need to rebuild perl using the xlc_r compiler.<br/> The important thing is that perl and DBD::Oracle be built with the same compiler.<br/> You may also need to: ORACCENV=&#39;cc=xlc_r&#39;; export ORACCENV<br/> Also see README.aix for gcc instructions and read about the -p option.<br/> Checking if your kit is complete...<br/> Looks good<br/> Unrecognized argument in LIBS ignored: &#39;-brtl&#39;<br/> LD_RUN_PATH=/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib<br/> Using DBD::Oracle 1.62.<br/> Using DBD::Oracle 1.62.<br/> Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/<br/> Writing Makefile for DBD::Oracle<br/><br/> *** If you have problems...<br/> read all the log printed above, and the README and README.help.txt files.<br/> (Of course, you have read README by now anyway, haven&#39;t you?)<br/><br/>bash-3.2#<br/><br/><br/>Thanks for the replay ,I think we don&#39;t have xlc.. but in software listing its showing ..but I cannot find the binaries for it.<br/><br/>I have already gcc but it says most of the option are not available with gcc..<br/><br/>Anoop Kumar Paramesweran | Expert - Unix and Storage Systems<br/>e anoop.kumar@nawras.om | m +96895103659 twitter/nawras_oman | facebook/nawras -----Original Message-----<br/>From: Martin J. Evans [mailto:bohica@ntlworld.com]<br/>Sent: Wednesday, May 01, 2013 11:07 PM<br/>To: dbi-users@perl.org<br/>Cc: Anoop Kumar Paramesweran<br/>Subject: Re: DBI Module installtion<br/><br/>On 29/04/2013 14:55, Anoop Kumar Paramesweran wrote:<br/>&gt; Hi Support,<br/>&gt;<br/>&gt; I am receiving below error while installing (make ) DBI module in my<br/>&gt; AIX box. As I am new to Perl installations could you please help me to<br/>&gt; solve this..<br/>&gt;<br/>&gt; xlc_r -q32 -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE<br/>&gt; -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT<br/>&gt; -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong<br/>&gt; -O -DVERSION=\&quot;1.625\&quot; -DXS_VERSION=\&quot;1.625\&quot;<br/>&gt; &quot;-I/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE&quot; Perl.c<br/>&gt; /bin/sh: xlc_r: not found.<br/>&gt; make: 1254-004 The error code from the last command is 127.<br/>&gt;<br/>&gt;<br/>&gt; Stop.<br/><br/>The Perl you are using was compiled with the AIX C compiler and it is either a) not installed or b) it is not on your path.<br/><br/>You can either:<br/><br/>a) add the AIX compiler xlc_r to your path if you have it installed (you usually have to pay IBM for this compiler)<br/><br/>b) install the IBM compiler and add it to your PATH.<br/><br/>c) install another compiler such as gcc (which is free), build Perl yourself into some dir you can point your PATH at and then install DBI.<br/>You might find perlbrew useful if you end up here.<br/><br/>Mostly when people report the issue you have they have installed Perl from a package provided by IBM that they built with their compiler and you don&#39;t have this compiler. When Perl is built is records the compiler and options used and generally you cannot compile Perl itself with one compiler and then modules which require a C compiler with another compiler.<br/><br/>Martin<br/>--<br/>Martin J. Evans<br/>Wetherby, UK<br/>This e-mail including any attachment is intended only for the recipient(s) named. It may contain confidential information and should not be read, copied or otherwise used by any other person. If you are not a named recipient, please contact the sender and delete the e-mail from your system. The sender does not accept any liability for errors or omissions in the content of this message or for viruses, or any damage due to the e-mail. The recipient is advised to have appropriate virus check software<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36591.html Wed, 08 May 2013 11:50:54 +0000 Re: Relevance of ChildHandles by Alberto Simões Hello<br/><br/><br/>On Tue, May 7, 2013 at 11:05 PM, Tim Bunce &lt;Tim.Bunce@pobox.com&gt; wrote:<br/><br/>&gt;<br/>&gt;<br/>&gt; The DBI purges undef entries from ChildHandles from time to time.<br/>&gt; (Specifically whenever the number of entries is a multiple of 120.)<br/>&gt;<br/><br/>Confirmed. Thanks<br/><br/>&gt;<br/>&gt; At this stage in the life of the DBI I think it&#39;s reasonable to assume<br/>&gt; that there isn&#39;t a leak in the DBI itself. If there was then a lot of<br/>&gt; people would be affected and complaining about it.<br/>&gt;<br/>&gt;<br/>Yeah, that is my though too, but I&#39;m trying to look to all possibilities.<br/>My server is crashing too often :-)<br/><br/>Thanks<br/><br/><br/><br/>-- <br/>Alberto Sim&otilde;es<br/><br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36590.html Wed, 08 May 2013 09:44:57 +0000 Re: Relevance of ChildHandles by Tim Bunce On Tue, May 07, 2013 at 10:28:29PM +0100, Alberto Sim&otilde;es wrote:<br/>&gt; Hello<br/>&gt; <br/>&gt; Any kind of handle on DBI has a $h-&gt;{ChildHandles} that store weakrefs to all child handles created. For<br/>&gt; instance, on a $dbh, you will get a list of weakrefs to $sth you create.<br/>&gt; <br/>&gt; When one of those $sth gets out of scope, its count get to 0. What Perl does to the weakref, is to<br/>&gt; change it to an undef value (Perl isn&#39;t able to remove that element from the array).<br/>&gt; <br/>&gt; Although a single undef takes less memory than a complete $sth object, it takes memory space. And if we<br/>&gt; get a lot of these undef values, things get worse.<br/><br/>The DBI purges undef entries from ChildHandles from time to time.<br/>(Specifically whenever the number of entries is a multiple of 120.)<br/><br/>At this stage in the life of the DBI I think it&#39;s reasonable to assume<br/>that there isn&#39;t a leak in the DBI itself. If there was then a lot of<br/>people would be affected and complaining about it.<br/><br/>Tim.<br/> http://www.nntp.perl.org/group/perl.dbi.users/2013/05/msg36589.html Tue, 07 May 2013 22:06:12 +0000