RE: CTlib.pm error
Michael Peppler <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.dbi.sybase |
|---|---|
| Message-ID | <[email protected]> |
On Wed, 2004-11-10 at 19:50, Sabherwal, Balvinder (MBS) wrote:
> Thanks Michael, This helps to identify the problem. One thing more I'd like
> to know is how to print these messages to the output file?
>
> Will something like this work where FH is the file handle?
>
> ct_callback(CS_SERVERMSG_CB, sub { print FH "@_\n"; });
> ct_callback(CS_CLIENTMSG_CB, sub { print FH "@_\n"; });
Yes.
Note that this prints everything, and is just a quick-n-dirty shorthand
useful when debugging.
Michael
> -----Original Message-----
> From: Michael Peppler [mailto:[email protected]]
> Sent: Wednesday, November 10, 2004 11:59 AM
> To: Sabherwal, Balvinder (MBS)
> Cc: '[email protected]'
> Subject: RE: CTlib.pm error
>
> On Wed, 2004-11-10 at 17:50, Sabherwal, Balvinder (MBS) wrote:
> > I do have ct_callback() in the script if that is what you are referring to
> > ad-hoc error handler and it's printing the error messages returned by
> srv_cb
> > and msg_cb. The script dies just before the error check which is the line
> > ct_sql(). It's not going pass this line so I can't print the error
> messages
> > in the script.
>
> Try rewriting that section to do the following:
>
> my $dbdata;
> ct_callback(CS_SERVERMSG_CB, sub { print "@_\n"; });
> ct_callback(CS_CLIENTMSG_CB, sub { print "@_\n"; });
> $dbhS->ct_execute($execsql);
> while($dbhS->ct_results($restype) == CS_SUCCEED) {
> next unless($dbhS->ct_fetchable($restype));
> while(@data = $dbhS->ct_fetch) {
> push(@$dbdata, [@data]);
> }
> }
>
> this code *should* produce the same results as your ct_sql() call, and
> it should be easier to figure out where it is dying.
>
> Michael
--
Michael Peppler Data Migrations, Inc.
[email protected] http://www.peppler.org/
Sybase T-SQL/OpenClient/OpenServer/C/Perl developer available for short or
long term contract positions - http://www.peppler.org/resume.html