Есть маленький скрип на perl
Пытаюсь обратиться к MSSQL.
Из shell все работает, из под IIS нет.
Причем все это как то очень хитро. Следующий скрипт выводит в STDOUT счетчик от 1 до 4.
при исполнении скрипта из под IIS мы получаем только 1,2.
#!/usr/bin/perl
use CGI qw/:all/;
use DBI;
print "Content-type: text/html\\n\\n";
print "1\\n";
$dbh = DBI->connect(\'dbi:ODBC:TM2\',\'sa\', \'123\');
print "2\\n";
$sth = $dbh->prepare("
SELECT *
FROM table1");
print "3\\n";
$sth->execute();
print "4\\n";
@row = $sth->fetchrow_array();
foreach $element (@row)
{
print "<p>AA $element</p>\\n";
}
print "5\\n";
В shell это все работает, даже данные выдает.
Затыкается все на
$sth = $dbh->prepare("
SELECT *
FROM table1");
Причем очень интересно. Если я вместо prepare напишу
$sth = $dbh->xxxxxxx;
То CGI скрипт как работал, так и работает. Тоесть из под IIS он все также послушно считает до 2.
Из под shell разумеется сразу выдает ошибку.
В системе создан USER DSN с именем TM2 и ауентификацией windows.
Помогите, голову уже сломал.