Hello.

I have a piece of code that uses a DSNless connection to a SQL Server
database. This code has been working just fine until just a few hours ago.

Suddenly, the database connection dies with this error:
Invalid string or buffer length (SQL-S1090)(DBD: db_login/SQLConnect err=-1)

I stripped the code down to the bare minimum and still this connection will
not work.

Even more strangely, the code WILL work on a couple of NT servers. But, the
code will not work on a Win NT workstation or Win 98 machine. Ummm....

If I convert the code to a DSN connection everything works fine.

So, my question is....

What happened to my Perl installation that is causing this error?

Here's the stripped down code which does not work as a DSNless connection.
-----------------------------------------
use strict;
use DBI;

my ($strDBServer, $dsnSQL_Server, $dbhSQL_Server);

$dsnSQL_Server = "Driver={SQL
Server};Server=rpt-nt01;Database=DatabaseName";

$dbhSQL_Server = DBI->connect("dbi:ODBC:$dsnSQL_Server", "UserID",
"UserPassword",
          {RaiseError => 1, PrintError => 1, AutoCommit => 1
          } ) or die "Connection to SQL Server Application Support database
failed: " . $DBI::errstr . "\n";


$dbhSQL_Server->disconnect;
-----------------------------------------

Pretty simple. If you change the server name, databasename, userid, and
userpassword to your environment this should connect to the database and
disconnect without a problem as it does on 2 of my NT servers.

Ron Rohrssen

Reply via email to