[Melbourne-pm] Connecting to a MSSQL 2005 server
Sam Watkins
sam at nipl.net
Tue Jun 15 20:20:29 PDT 2010
On Fri, Jun 11, 2010 at 07:45:17PM +1000, David Dick wrote:
> On 11/06/10 12:23, Sam Watkins wrote:
>> For example, with DBD::Sybase and freetds, it appears that if you send an SQL
>> statement using bind variables having 2 or more bound to NULL, it segfaults :S
>
> This is a interesting case that i wasn't aware of. I'm a bit snowed
> under at the moment, but would you be able to post some more details
> (freetds version, DBD::Sybase version and server type and version) so i
> could (later on) replicate and fix this issue?
freetds-0.64-4.1
DBD::Sybase 1.10
sybase version, I'm not sure, but I think it doesn't matter as it crashes before it gets to the server (even if the table doesn't exist).
here is a test program that crashes:
#!/usr/bin/perl
use strict; use warnings;
warn "testing a bug, apparently with binding undef -> NULL in DBD::Sybase\n";
use DBI;
my $host = "localhost";
my $port = 2500;
my $db = "test";
my $user = "sa";
my $pass = "Sybase390";
my $connectionstring = "host=$host;port=$port;database=$db";
my $dbh = DBI->connect("dbi:Sybase:$connectionstring", $user, $pass,
{ RaiseError => 1, AutoCommit => 1 })
|| die "Database connection not made $DBI::errstr";
$dbh->do("DROP TABLE sam_test");
$dbh->do("CREATE TABLE sam_test (ABN CHAR(11) NULL, ACN CHAR(9) NULL)");
$dbh->do("UPDATE sam_test SET ABN = NULL, ACN = NULL");
warn "got to final test, which will crash\n";
$dbh->do("UPDATE sam_test SET ABN = ?, ACN = ?", {}, undef, undef);
More information about the Melbourne-pm
mailing list