Hi All,

   I recently upgraded one of my machines to DBD::Sybase 0.95.  I am seeing
a new behavior that is causing me problems and wondered if anyone could help
me out.

   Also, I'm seeing that "$self->{DBH}->{LongReadLen} = 65536;"  is being
complained about in the logfiles, so I've remarked them out and hoping that
my "$self->{DBH}->do("set textsize 65536");" is doing the job.  If anyone
has insight on what's up with that, I'd be much obliged.

   Back to my fetchrow issue.

   Up until the recent upgrade I could do something like the following:

==================================
sub retrieve_service_by_name {
    my $self    = shift;
    my $svcname = shift;
    my ($ref, %info);

    # cleanup service name
    $svcname =~ s/\s+/ /g;
    $svcname =~ s/^\s+//;
    $svcname =~ s/\s+$//;
    if($svcname eq "") { return -1; }

    
    my($dbh)   = $self->getDBH();
    my($qname) = $dbh->quote("$svcname");
    my $q = "select * from services where \( service_label = $qname \)";
    my $sth = $dbh->prepare("$q");
    $sth->execute();

    while ($ref = $sth->fetchrow_hashref)  {
        foreach my $key (keys %{$ref}) {
                $info{"$key"} = $$ref{"$key"};
                }
        }
    return %info;
    }
======================================

This worked pretty well before.  But, now, it appears that if the result of
the query is a null set, it pukes with a:

   Can't get DBI::st=HASH(0x811cfa8)->{NAME}: unrecognised attribute at <my
package>


I'd rather not rewrite all this code to do EXIST test (or calls to a TSQL
executable).  Does anybody know if there is a setting I can change in the
DBI setup call?

Thanx!
Karyn 

Reply via email to