PDA

Просмотр полной версии : Обработка запроса к базе возвращающего большой объем данных



Ivan Pivtsaev
13.09.2005, 10:05
Есть запрос возвращающий более 4000 строк каждая гдето 200байт
Пытаюсь обработать его в Perl и вывести его следующим образом:
my $sth = $dbh->prepare( $sql2 );
$sth->execute();
while ( my($P1, $P2, $P3, $P4) = $sth->fetchrow_array) {
print "$P1 $P2 $P3 $P4\n";
};
не получается, останавливается всегда на одной и тойже записи.
Вывел все что выводилось в отдельный файл получил размер файла ровно 8кб.
По всей видимости именно столько и передается в Perl.
Как получить все что возвращает запрос, может кто сталкивался с такой же проблемой? Помогите пожалуйста.

UUU
15.09.2005, 15:45
1. Попробуй на локальной машине, а не на хостинге, если получится также - проблема не в модуле, а в данных :-)
2. сосчитать, сколько записей в выборке и выводи по несколько строк :-)

Никогда не замечал ограничений :-)

Ivan Pivtsaev
15.09.2005, 16:25
Да дело действительно было в данных все остальное плод моего воображения ;-) просто как-то странно обрабатывались пустые значения некоторые выводились на некоторых глючило. Поставил в запросе NVL заменил пустые значения на символ пробела и все заработало.
Остался один вопрос, почему некоторые пустые значения все-таки выводились?

UUU
16.09.2005, 07:39
Все таки сдается мне, что приведенный кодв первом посте - это не тот, рабочий код, который записывает всего 8 кб.
Скорее всего у тебя проблема именно в обработчике твоем., а не в стандартном модуле.