here is a small example of two call back functions and their use, please
also see the module's documentation at CPAN.org,
as well as Michael Peppler's site for more in depth information
http://mbay.net/~mpeppler/Sybperl/article.html.
You will likely want much more in depth error management than this but for a
start...
#!/usr/bin/perl -w
use strict;
use Sybase::CTlib;
#---SNIP----#
#
# Callbacks for CT Lib messages
#
sub ClientCallBack()
{
my ($M_HNDL_LAYER,
$M_HNDL_ORIGIN,
$M_HNDL_SEVERITY,
$M_HNDL_NUMBER,
$M_HNDL_MESSAGE,
$M_HNDL_OSMESSAGE,
$M_HNDL_DBHANDLE) = @_;
if($M_HNDL_SEVERITY > 10)
{
print STDERR "ERROR: $M_HNDL_NUMBER, MESSAGE: $M_HNDL_MESSAGE\n";
}
CS_SUCCEED;
}
sub ServerCallBack
{
my ($S_HNDL_DBHANDLE,
$S_HNDL_NUMBER,
$S_HNDL_SEVERITY,
$S_HNDL_STATE,
$S_HNDL_LINE,
$S_HNDL_SERVER,
$S_HNDL_PROC,
$S_HNDL_MESSAGE) = @_;
if($S_HNDL_SEVERITY > 10)
{
print STDERR "ERROR: $S_HNDL_NUMBER, MESSAGE: $S_HNDL_MESSAGE\n";
}
CS_SUCCEED;
}
#
# Usage example:
#
sub CheckStorage
{
my ($SERVER,$DATABASE) = @_;
ct_callback(CS_CLIENTMSG_CB, \&ClientCallBack);
ct_callback(CS_SERVERMSG_CB, "ServerCallBack");
my $CONNECTION = Connect($SERVER);
$CONNECTION->ct_sql("exec dbccdb..sp_dbcc_deletehistory");
$CONNECTION->ct_sql("dbcc checkstorage($DATABASE)");
}
sub Connect()
{
my ($SERVER) = @_;
my $PASSWORD = sorryCharlie;
my $USERID = 'sa';
my $dbHandle = Sybase::CTlib->ct_connect($USERID , $PASSWORD ,$SERVER);
return($dbHandle);
}
sub RunCheck
{
my ($SERVER,$DATABASE ) = @_;
chomp($SERVER);
chomp($DATABASE);
CheckStorage($SERVER,$DATABASE);
}
RunCheck('jupiter','dba');
###END###
HTH,
George
"Kanchana Weerasinghe" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> I'm using CTLib to perform queries on sybase database.
>
> How do I catch errors such as database intergrity constraints etc?
> Thanks in advance.
>
>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]