PEPPLER.ORG
Michael Peppler
Sybase Consulting
Menu
Home
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
Freeware
Sybperl
Sybase::Simple
DBD::Sybase
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
FAQs
Sybase on Linux FAQ
Sybperl FAQ
Personal
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:


#!/usr/local/bin/perl

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/CTlib.pm 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,
sheree