Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с ms sql, генерация страницы на основе выборки 
:(
    Опции темы
AlexeyKW
Дата 14.12.2005, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.12.2005

Репутация: нет
Всего: нет



Делается запрос к таблице ms sql server.

use DBI;
print "Content-type: text/html\n\n";
print "<html>Код\n";
$dbh=DBI->connect('DBI:ODBC:IE', 'Administrator', '') or die "ODBC ERROR";
$sth=$dbh->prepare("select kod_specialnosti from kod_spec") or die "Prepare error";
$sth->execute() or die 'exec error';
while ($r = $sth->fetchrow_hashref()) {
print ("\n", $r->{kod_specialnosti}) ;
print "\n";}
print "</html>\n";

При выполнении в браузере выводися только слово "Код". Если же выполнить тот же
код в консоли (cmd), то все правильно работает. Подскажите пожалуйста в чем у меня ошибка.
Заранее спасибо!
PM MAIL   Вверх
BlackLFL
Дата 14.12.2005, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

Репутация: 3
Всего: 12



во первых \n замените на <br>
далее, вначале скрипта случаем не подключается модуль
use CGI::Carp qw(fatalsToBrowser);
а в пути к интерпритатору флаг -w ?

при запуске в браузере процесс умирает или продолжает жить? если жить то убейте его, и посмотрите, что отписалось в лог ...
PM WWW   Вверх
Sadok
Дата 15.12.2005, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 2.11.2004

Репутация: 1
Всего: 2



AlexeyKW
Цитата
while ($r = $sth->fetchrow_hashref()) {
print ("\n", $r->{kod_specialnosti}) ;
print "\n";}
print "</html>\n";

а так:
Код

while ($r = $sth->fetchrow_hashref()) {
    print "<br>";
    print $r->{kod_specialnosti};
    print "<br>";
}
print "</html>";


Это сообщение отредактировал(а) Sadok - 15.12.2005, 12:46
PM   Вверх
AlexeyKW
Дата 15.12.2005, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.12.2005

Репутация: нет
Всего: нет



Заменил \n на <br>.
Никакие другие модули не подключены, то что я написал это полный текст скрипта (плюс в начале #!perl), ключей отладки нигде не стоит.
В логе сервера написано “DBI connect('IE','Administrator',...) failed …”, то есть видимо ошибка соединения. Но почему тогда работает скрипт в консоли? Для проверки я еще коннектился к ODBC через Delphi, тоже все работает.

PM MAIL   Вверх
sharq
Дата 15.12.2005, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 2
Всего: 28



AlexeyKW perldoc DBD::ODBC.

Ошибка в составление dsn коннекта.

Код

#!perl -w

use strict;
use DBI;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
print "<html>Код\n";

my $DSN = 'driver={SQL Server};Server=server_name;database=database_name;uid=user;pwd=password;'; # подставь соотв. данные
my $dbh=DBI->connect("dbi:ODBC:$DSN") or die "$DBI::errstr\n";

my $sth=$dbh->prepare("select kod_specialnosti from kod_spec") or die "Prepare error";
$sth->execute() or die 'exec error';

while (my $r = $sth->fetchrow_hashref()) {
  print ("\n", $r->{kod_specialnosti}) ;
  print "\n";
}

print "</html>\n";


ВОт так запукай, проверяй, смотри.
smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
AlexeyKW
Дата 16.12.2005, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.12.2005

Репутация: нет
Всего: нет



Вот в таком варианте все работает. Огромное спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0816 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.