On Tue, 2006-09-05 at 12:09 -0700, Loo, Peter # PHX wrote: > Martin, > > Here is the version: > > $ perl -M'DBD::ODBC' -le 'print $DBD::ODBC::VERSION' > 1.13 > > Peter
What I meant is what ODBC driver are you using? If you are not sure look in your odbcinst.ini and odbc.ini files. I have to confess to not recognising this error but if we knew what odbc driver you are using it might help. Martin -- Martin J. Evans Easysoft Limited http://www.easysoft.com > -----Original Message----- > From: Martin J. Evans [mailto:[EMAIL PROTECTED] > Sent: Tuesday, September 05, 2006 11:45 AM > To: dbi-users@perl.org > Subject: RE: :ODBC::st execute failed: [unixODBC]ERROR: crossed reserve > :Out of memory > > On Tue, 2006-09-05 at 12:34 -0600, Reidy, Ron wrote: > > So, which is it - errors at 3.8M rows, or 350K rows? When you get > > errors at 350K, are you array fetching or row-at-a-time fetching? > > What does -1 mean in the error message? > > I can't tell what driver Peter is using because it has not inserted its > name into the error - this is a bug in itself - it should appear in [ ] > after [unixODBC]. The -1 is SQL_ERROR and there should be a native error > too - that is also missing. I've no idea why it shows "SQL-" - this also > seems incorrect. > > This probably does not help much other than to clarify that this driver > is not fully ODBC complaint in its error reporting. > > Martin > -- > Martin J. Evans > Easysoft Limited > http://www.easysoft.com > > > -----Original Message----- > > From: Loo, Peter # PHX [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, September 05, 2006 12:15 PM > > To: Loo, Peter # PHX; Reidy, Ron; DBI-Users > > Subject: RE: :ODBC::st execute failed: [unixODBC]ERROR: crossed > > reserve > > : Out of memory > > > > > > 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. > > > > > > > > > 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. > >