DBD::Sybase(ver .22)/FreeTDS(42)/Solaris(2.6)/MSSQL7 - Multiple Issues

sarva sarva at siterock.com
Tue Jun 27 00:11:52 EDT 2000


Is anyone using the same configuration as I am?. Please atleast comment on 
the problem I'm having.

Thanks.

Previous message,

1) 
If do a fetch without a while loop, the script blocks on finish call,

$dbh->do('use cws');
$cur=$dbh->prepare('select GETDATE()');
$cur->execute();
$cur->bind_columns(undef, \$date);
$cur->fetch();
$cur->finish();
print "Date - $date";

It never get pasts the finish call. If you change the fetch call to,
while($cur->fetch()) {}
it works. From the system calls it looks like it is blocking on a read 
call
on /dev/udp.

2) Also in case of errors, the scripts blocks,
$cur=$dbh->prepare('select GETDATE()');
$cur->execute();
$cur->bind_columns(undef, \$login, \$date);
$cur->fetch();
$cur->finish();
print "Date - $date";

Since I'm binding two columns when I selected only one, it writes the 
error
"bind_columns called with 2 refs when 1 needed. at tds.pl"
to STDERR and blocks on bind_columns call.

If I add eval around the prepare, execute, fetch and bind_columns, it gets
to the error block and blocks on finish,
eval {
$cur=$dbh->prepare('select GETDATE()');
$cur->execute();
$cur->bind_columns(undef, \$login, \$date);
while($cur->fetch()){}
};
if($@) {
  print "Error " . $dbh->errstr;
}
$cur->finish();
$cur->disconnect();

The $dbh->errstr variable is also empty. I also tried $DBI::errstr.

If i comment the $cur->finish() call, the script Seg faults after 
disconnecting.




More information about the FreeTDS mailing list