Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

не подключается к базе из Cgi

13K
31 марта 2006 года
Shhhurrra
17 / / 31.03.2006
Привет всем.
Есть перловый CGI скрипт, есть БД MSDE и IIS
Дело в следующем..
Скрипт под perlом работает, в браузере как я понял
он выполняется до "my $db = DBI->connect.." дальше тишина, т.е. ничего не отображается на странице..
В чем же дело?
Вот скрипт:

#!/usr/local/bin/perl

#use strict;
use DBI::DBD;


print "Content-type:text/html\n\n";

print <<HTML;
<html><head><style>a:link {text-decoration:none; }</style></head>
<body><h3 align=center><font color="0000ff">No</font></h3></body>
HTML
my $db = DBI->connect("DBI:ODBC:deal_msde", "sa", '');

my $cst=$db->prepare("select name from users");
$cst->execute;
while ((my $name)=$cst->fetchrow_array)
{
print "$name\n";
}
print <<HTML;
<body><h3 align=center><font color="0000ff">Yes</font></h3></body>
HTML
$db->disconnect;

Спасиба!
2
31 марта 2006 года
squirL
5.6K / / 13.08.2003
интересно, как CGI скрипт на Perl работает под виндовым IIS c таким Shebang:
Цитата:
Originally posted by Shhhurrra

#!/usr/local/bin/perl

13K
31 марта 2006 года
Shhhurrra
17 / / 31.03.2006
Цитата:
Originally posted by squirL
интересно, как CGI скрипт на Perl работает под виндовым IIS c таким Shebang:



а что activeperl не должен работать?
у мя другие же скрипты работают.. только вот с коннектом к БД не выходит..:(

2
31 марта 2006 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by Shhhurrra
а что activeperl не должен работать?
у мя другие же скрипты работают.. только вот с коннектом к БД не выходит..:(



смотри логи БД. только я все равно не понимаю, как твой интерпретатор понимает #!/usr/local/bin/perl

13K
31 марта 2006 года
Shhhurrra
17 / / 31.03.2006
Цитата:
Originally posted by squirL
смотри логи БД. только я все равно не понимаю, как твой интерпретатор понимает #!/usr/local/bin/perl



хоть убирай эту строчку хоть с:/perl/bin/ напиши результат тот же..
логи боюсь не помогут -база MSDE..
дело в том что в Perl Builder'e все работает..
мож косяк где-то в IE?

300
31 марта 2006 года
ReDrum
689 / / 20.04.2000
насчет #!/usr/... под виндой - это нормально.

Такое предложение, раскоментируй директиву use strict.
Подравь строку на
my $db = DBI->connect("DBI:ODBC:deal_msde", "sa", '') || die "cant connect to database";


запусти в командной строке свой скриптец.
наверняка на что нить ругнетца
13K
31 марта 2006 года
Shhhurrra
17 / / 31.03.2006
Цитата:
Originally posted by ReDrum
насчет #!/usr/... под виндой - это нормально.

Такое предложение, раскоментируй директиву use strict.
Подравь строку на
my $db = DBI->connect("DBI:ODBC:deal_msde", "sa", '') || die "cant connect to database";


запусти в командной строке свой скриптец.
наверняка на что нить ругнетца



все вышеуказанное проделывал и раньше..
не ругается
выдает тока то что в print.. к базе коннектится выдает результат selecta

300
31 марта 2006 года
ReDrum
689 / / 20.04.2000
Гм, такое замечение, надо подправить html. Что то смущает меня множество тегов body

Запость сюда все что тебе вызается в консоли.
т.е. например в far говоришь
> perl script.pl > result.html

result.html давай сюда
13K
31 марта 2006 года
Shhhurrra
17 / / 31.03.2006
Цитата:
Originally posted by ReDrum
Гм, такое замечение, надо подправить html. Что то смущает меня множество тегов body

Запость сюда все что тебе вызается в консоли.
т.е. например в far говоришь
> perl script.pl > result.html

result.html давай сюда



вот:
Content-type:text/html

<html><head><style>a:link {text-decoration:none; }</style></head>
<body><h3 align=center><font color="0000ff">No</font></h3></body>
Admin
<body><h3 align=center><font color="0000ff">Yes</font></h3></body>

300
31 марта 2006 года
ReDrum
689 / / 20.04.2000
Цитата:
Originally posted by Shhhurrra
вот:
Content-type:text/html

<html><head><style>a:link {text-decoration:none; }</style></head>
<body><h3 align=center><font color="0000ff">No</font></h3></body>
Admin
<body><h3 align=center><font color="0000ff">Yes</font></h3></body>



Аdmin - это то что у тебя в базе.

Осталось почистить html

13K
31 марта 2006 года
Shhhurrra
17 / / 31.03.2006
Цитата:
Originally posted by ReDrum
Аdmin - это то что у тебя в базе.

Осталось почистить html



Да это из базы..
В том то и дело, что скрипт так выполняется из командной строки.. если этот CGI скрипт выполнить в браузере он выдаст только то что до my $db = DBI->connect("DBI:ODBC:deal_msde", "sa", '')
остальное он просто не замечает..

Счас проверил если заремарить "USE DBI; "
ничего не меняется в браузере, выдает только первую часть где слово "No" и все, в perle же он естественно ругается. Возможно скрипт в браузере не понимает слова USE?

300
31 марта 2006 года
ReDrum
689 / / 20.04.2000
гм, а что в логи валица?
13K
31 марта 2006 года
Shhhurrra
17 / / 31.03.2006
Цитата:
Originally posted by ReDrum
гм, а что в логи валица?



В логах к базе ничего нет.. потому как коннект даже и не пытается вызываться.. в USE DBI дело возможно не знает браузер че это такое.. и при вызове команды DBI->connect('DBI:ODBC:deal_msde', 'sa', '') он не знает че делать.. останавливается и ошибок не выдает.. типа конец страницы и все тут :(

300
31 марта 2006 года
ReDrum
689 / / 20.04.2000
не в логах уеб-сервера, что творитца?

если бы дело быдло в use DBI, то тебе выдавался бы 500 ответ.
13K
31 марта 2006 года
Shhhurrra
17 / / 31.03.2006
Цитата:
Originally posted by ReDrum
не в логах уеб-сервера, что творитца?

если бы дело быдло в use DBI, то тебе выдавался бы 500 ответ.



ничего там не творится лог-visits:
2006-03-31 11:20:38 W3SVC1 127.0.0.1 GET /forum/logit.cgi - 80 - 127.0.0.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+ru)+Opera+8.53 200 0 0

13K
31 марта 2006 года
Shhhurrra
17 / / 31.03.2006
Цитата:
Originally posted by Shhhurrra
ничего там не творится лог-visits:
2006-03-31 11:20:38 W3SVC1 127.0.0.1 GET /forum/logit.cgi - 80 - 127.0.0.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+ru)+Opera+8.53 200 0 0



Короче всем спасиба все заработало..
причина была в прописанных DataSources (ODBC)
первоначально было прописано в User DSN?
добавил в System DSN и коннект пошел..

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог