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: Michael Peppler <mpeppler at peppler dot org>
Subject: RE: Two connections using CT-LIB
Date: Nov 4 1999 7:48PM

Herring, Nathan A writes:
 > I upgraded to 2.11 but it failed the make test...  I ran through it a couple
 > of times and double checked to make sure that I had answered all the
 > questions and configured it properly.  I still installed it even after it
 > failed the make test, then reran my script.  I received this error:
 >  
 > Open Client Message: (In msg_cb)
 > Message number: LAYER = (1) ORIGIN = (1) SEVERITY = (1) NUMBER = (16)
 > Message String: ct_cmd_drop(): user api layer: external error: This routine
 > cannot be called while results are pending for a command that has been sent
 > to the server.

OK - now this is a different error. The issue here is that you haven't 
processed all the data that the server sent you for a particular
query. This particular message will appear only if you kill the
connection (for example by calling exit()) before all the results from 
the current query have been processed. It's more of a warning than
anything else in this particular case.

 >         PERL_DL_NONLAZY=1 /bin/perl -I../blib/arch -I../blib/lib
 > -I/usr/local/lib/perl5/5.00503/sun4-solaris -I/usr/local/lib/perl5/5.00503
 > -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;'
 > t/*.t
 >         t/dblib.............FAILED tests 20-22
 >                 Failed 3/22 tests, 86.36% okay

This is due to a bug in OpenClient for dbpoll() when using a timeout
value of -1. I believe that this is fixed in the latest EBF for
solaris.

Michael

 > -----Original Message-----
 > From: Michael Peppler [ mailto:mpeppler@peppler.org
 >  ]
 > Sent: Wednesday, November 03, 1999 5:43 PM
 > To: SybPerl Discussion List
 > Subject: Re: Two connections using CT-LIB
 > 
 > 
 > Herring, Nathan A writes:
 >  > I am opening two connections to a server for execution of commands like
 > the
 >  > following:
 >  >
 >  >      $X = Sybase::CTlib->ct_connect($uid, $pwd, $srv);
 >  >      $Y = Sybase::CTlib->ct_connect($uid, $pwd, $srv);
 >  >      $selgen = "select name from master..sysdatabases where dbid > 4 and
 >  > name != 'sybsecurity'";
 >  >      $selgen2 = "select name from master..sysusers where uid > 4";
 >  >      $X->ct_execute($selgen);
 >  >      $Y->ct_execute($selgen2);
 >  >
 >  > If I remove all $Y ct executes the program works fine.  If I leave them
 > in I
 >  > get the following errors:
 >  >
 >  >      Message number: LAYER = (1) ORIGIN = (1) SEVERITY = (1) NUMBER =
 >  > (16)
 >  >      Message String: ct_cmd_drop(): user api layer: external error: This
 >  > routine
 >  >          cannot be called while results are pending for a command
 >  > that has been
 >  >          sent to the server.
 >  >      cs_loc_drop(context, locale) failed during global destruction.
 > 
 > Upgrade to a more recent version of Sybperl (2.11 is the current
 > release, 2.10_02 fixes the problem, I believe)
 > 
 > Michael
 > --
 > Michael Peppler         -||-  Data Migrations Inc.
 > mpeppler@peppler.org    -||-  http://www.mbay.net/~mpeppler
 >  
 > Int. Sybase User Group  -||-  http://www.isug.com  
 > Sybase on Linux mailing list: ase-linux-list@isug.com
 > 

-- 
Michael Peppler         -||-  Data Migrations Inc.
mpeppler@peppler.org    -||-  http://www.mbay.net/~mpeppler
Int. Sybase User Group  -||-  http://www.isug.com
Sybase on Linux mailing list: ase-linux-list@isug.com