Michael Peppler
Sybase Consulting
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
Sybase on Linux FAQ
Sybperl FAQ
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: "Sheree A dot Hemphill" <sah18 at po dot cwru dot edu>
Subject: ct-lib out of memory error
Date: Oct 27 1999 5:33PM

I am using ASE 11.5.1 running on an SGI, IRIX version 6.5.5.  I have a table
that contains only two fields -- AC (char) & TEXT (text data type).  I am
inserting one record into the table using SybPerl's Sybase::CTlib module.
The record's text field is rather large (~11mb).  I am not sure if the
record is inserting properly, as I am getting "bus error" when trying to
retrieve the record using isql.  I am now trying to retrieve the record
using SybPerl with the following script:


use Sybase::CTlib;
$dbh = new Sybase::CTlib 'username', 'pw', 'server';
$dbh->ct_sql("use db");

$dbh->ct_sql("set textsize 2147483647");
@rows = $dbh->ct_sql("select * from SOURCESEQ where AC='U00096'");

foreach $row_ref (@rows) {
	($ac, $text) = ($$row_ref[0], $$row_ref[1]);
	print "ac=$ac\n";
	print "text=$text";

the is only one record that gets returned.  when i run this, i get the
following error:
Out of memory during "large" request for -2147479552 bytes at
/usr/freeware/lib/perl5/site_perl/5.005/irix-n32/Sybase/ line 888.

Open Client Message:
Message number: LAYER = (1) ORIGIN = (1) SEVERITY = (1) NUMBER = (159)
Message String: ct_cmd_drop(): user api layer: external error: This routine
can be called only if the command structure is idle.

does anyone have any idea what this means?  is there a limit as to the
amount of data that can be returned in a query?  is there any way around
this problem?

thank you for your help,