Perl и MS SQL 2005 не могу подсоединиться
Помогите разобраться плз с граблями. Вроде все просто но самостоятельно разобраться не получается.
Вообщем задача такова. Имеем WIN2003S, MS SQL SERVER EXPRESS 2005 и Perl. При подсоединении к серверу баз данных из под перла выдается ошибка SQL Server does not exist or access denied.
Для коннекта в сценнарии пишу следующее:
$dbh = DBI->connect("dbi:ODBC:driver={SQL Server};Server=$hostname;database=$dbname", $user,$pass);
Уже перепроверил и перелазил везде где можно.
Добавлю что на W2000S MSSQL2000 все работало. Нужно просто все переделать на новый лад...
Помогите разобраться плз с граблями. Вроде все просто но самостоятельно разобраться не получается.
Вообщем задача такова. Имеем WIN2003S, MS SQL SERVER EXPRESS 2005 и Perl. При подсоединении к серверу баз данных из под перла выдается ошибка SQL Server does not exist or access denied.
Для коннекта в сценнарии пишу следующее:
$dbh = DBI->connect("dbi:ODBC:driver={SQL Server};Server=$hostname;database=$dbname", $user,$pass);
Уже перепроверил и перелазил везде где можно.
Добавлю что на W2000S MSSQL2000 все работало. Нужно просто все переделать на новый лад...
$hostname - как определено? Какой драйвер используется? $user,$pass - в базе присутствуют? Кроме того - SQL2005 требует установки клиента для доступа, и фреймворка 2.0 - это установлено?
Вообщем текст так называемого тестового скрипта следующий:
[FONT="Courier New"]use DBI::DBD;
$user='figaro';
$pass='parol';
$hostname='stealth-3';
$dbname='dbdirect';
$dbh = DBI->connect("dbi:ODBC:driver={SQL Server};Server=$hostname;database=$dbname", $user,$pass);
$dbh->disconnect;
print "hallo!!!";[/FONT]
после его выполения на той же машине где и установлен SQL сервер выдается вышеуказанная ошибка.
Framework установлен. Иначе SQL сервер бы не установился.
В SQL Server Configuration Manager Были включены протоколы TCP/IP и Shared Memory. В настройках TCP/IP все активно. пытаюсь заскочить через телнет на 1433 порт - черный экран (насколько я так понимаю это нормально).
Далее в SQL Server Management Studio Express логинюсь без проблем - как через win-аутентификацию так и sql-аутен.
Но через perl не получается залогиниться ни под sa, ни под любым другим созданным логином...
Проблема заключалась в имени сервера ($hostname)
Решение настолько банальное и насколько простое что я чуть не офигел...
значение $hostname должно быть не 'stealth-3' (как в 2000-ом сервере), а 'STEALTH-3\SQLEXPRESS'
Спасибо за оказанное внимание!
Досвидания.;)