Now I am getting the following error after fetching approximately
350,000 rows.

DBD::ODBC::st fetch failed: [unixODBC] (SQL-)(DBD: st_fetch/SQLFetch
err=-1) at /usr/local/apps/ppv/devl/bin/sdl.pl line 228, <FH> line 53. 

Peter

-----Original Message-----
From: Loo, Peter # PHX [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, September 05, 2006 10:45 AM
To: Reidy, Ron; DBI-Users
Subject: RE: :ODBC::st execute failed: [unixODBC]ERROR: crossed reserve
: Out of memory


Hi Ron,

I am returning approximately 3.8 million rows.  Here is the code:

  $sqlString = qq{ select   distinct x.ptnt_gid, x.prdct_gid,
x.rx_fill_dte,
                                     x.claim_gid, x.ovrd_days_sply_nbr,
                                     x.clfsn_grace_prd_nbr, 'N',
                                     x.rx_fill_dte +
x.ovrd_days_sply_nbr,
                                     x.rx_fill_dte -
to_date('1980-01-01', 'YYYY-MM-DD'),
                                     x.rx_fill_dte +
(x.ovrd_days_sply_nbr * 2)
                   from     p_dlvrb_rx_claim_extract x,
p_dlvrb_ptnt_list y
                   where    x.dlvrb_gid = y.dlvrb_gid
                   and      x.ptnt_gid = y.ptnt_gid
                   order by x.ptnt_gid, x.prdct_gid, x.rx_fill_dte,
x.claim_gid };
  $sqlString =~ s/\s+/ /g;
  print STDERR "sqlString is: $sqlString\n";
  $sth = sub_prepare($driver, $dbh, $sqlString);
  $sth = sub_execute($driver, $dbh, $sth);
  my ($ptnt, $prdct, $fill_dte, $claim, $days_sply, $grace, $class,
$cted, $since);
  $sth->bind_columns( undef, \$ptnt, \$prdct, \$fill_dte, \$claim,
\$days_sply, \$grace, \$class, \$cted, \$since, \$twice ); 


LINE 88 of GlobalRoutines.pm

  sub sub_execute($$$) {
    print STDERR "\n***** sub_execute() *****\n\n";
    my ($dbDriver, $dbh, $sth) = @_;
    print STDERR "DATABASE DRIVER IS:         $dbDriver\n";
    print STDERR "DATABASE HANDLE IS:         $dbh\n";
    print STDERR "STATEMENT HANDLE IS:        $sth\n";
    eval { $sth->execute(); };                <<<<<<<<<<<<<<<<<<<<<<
    if ($@) {
      $MESSAGE = "sub_execute() - $@";
      $STATUS = $FAILURE;
      sub_exit();
      }
    print STDERR "RETURN STATEMENT HANDLE IS: $sth\n\n";
    return($sth);
    } #<=== (End of sub_execute)

 
Peter

-----Original Message-----
From: Reidy, Ron [mailto:[EMAIL PROTECTED]
Sent: Tuesday, September 05, 2006 10:41 AM
To: Loo, Peter # PHX; DBI-Users
Subject: RE: :ODBC::st execute failed: [unixODBC]ERROR: crossed reserve
: Out of memory

Sure,

What are you doing in GlabalRoutines.pm at line 88?  Are you fetching a
large result set into memory (hash or array)?

--
Ron Reidy
Lead DBA
Array BioPharma, Inc.

-----Original Message-----
From: Loo, Peter # PHX [mailto:[EMAIL PROTECTED]
Sent: Tuesday, September 05, 2006 11:38 AM
To: DBI-Users
Subject: DBD::ODBC::st execute failed: [unixODBC]ERROR: crossed reserve
: Out of memory

Hi,
 
Will you kindly tell me what this error message is talking about?
 
DBD::ODBC::st execute failed: [unixODBC]ERROR:  crossed reserve : Out of
memory
 (SQL-HY000)(DBD: st_execute/SQLExecute err=-1) at
/usr/local/apps/common/devl/bin/GlobalRoutines.pm line 88, <FH> line 53.
 
Thanks.
 
Peter

This electronic message transmission is a PRIVATE communication which
contains information which may be confidential or privileged. The
information is intended to be for the use of the individual or entity
named above. If you are not the intended recipient, please be aware that
any disclosure, copying, distribution or use of the contents of this
information is prohibited. Please notify the sender  of the delivery
error by replying to this message, or notify us by telephone
(877-633-2436, ext. 0), and then delete it from your system.



This E-mail message is for the sole use of the intended recipient(s) and
may contain confidential and privileged information.  Any unauthorized
review, use, disclosure or distribution is prohibited.  If you are not
the intended recipient, please contact the sender by reply E-mail, and
destroy all copies of the original message.


This E-mail message is for the sole use of the intended recipient(s) and
may contain confidential and privileged information.  Any unauthorized
review, use, disclosure or distribution is prohibited.  If you are not
the intended recipient, please contact the sender by reply E-mail, and
destroy all copies of the original message.

Reply via email to