http://qs321.pair.com?node_id=787424

tux402 has asked for the wisdom of the Perl Monks concerning the following question:

Greetings Monks,

I am having quite a hard time with this problem. I'm trying to connect to a MS sql server 2000 using FreeTDS and DBI. The trick is that I can only use NT Authentication, and I have to connect to a sql named instance. I can connect from Windows if I create the Windows user on my box, then use SQL Server Management Studio 2005, but not from Perl's DBI. Here is my dsn for reference. I and am not connecting locally.
#!/usr/bin/perl use DBI; my $host = '127.0.0.1\InstanceName'; my $usr = 'HostName\UserName'; my $pw = 'Password'; my $dsn = DRIVER=/usr/local/lib/libtdsodbc.so;SERVER=$host;PORT=4433;D +ATABASE=dataBase;UID=$usr;PW=$pw;TDS_Version=8.0"; my $dbh = DBI->connect('DBI:ODBC:'.$dsn) || die $DBI::errstr;

I keep getting the error

[FreeTDS][SQL Server]Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.

I'm not sure what is going wrong. I don't know if it is failing because of the NT authentication, or because of the named instance. Something to note, the sql server is not a part of the domain, and its hostname does not currently resolve to the IP. Any clues?