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.
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', '-MM-DD'), x.rx_fill_dte + (x.ovrd_days_sply_nbr * 2) from p_dlvrb_rx_claim_extract x, p_dlvrb_ptnt_list y wherex.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.
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', '-MM-DD'), x.rx_fill_dte + (x.ovrd_days_sply_nbr * 2) from p_dlvrb_rx_claim_extract x, p_dlvrb_ptnt_list y wherex.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.
RE: :ODBC::st execute failed: [unixODBC]ERROR: crossed reserve :Out of memory
Martin, Here is the version: $ perl -M'DBD::ODBC' -le 'print $DBD::ODBC::VERSION' 1.13 Peter -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', '-MM-DD'), x.rx_fill_dte + (x.ovrd_days_sply_nbr * 2) from p_dlvrb_rx_claim_extract x, p_dlvrb_ptnt_list y wherex.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
RE: :ODBC::st execute failed: [unixODBC]ERROR: crossed reserve :Out of memory
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', '-MM-DD'), x.rx_fill_dte + (x.ovrd_days_sply_nbr * 2) from p_dlvrb_rx_claim_extract x, p_dlvrb_ptnt_list y wherex.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