ASP-No Out для большого количества записей - PullRequest
0 голосов
/ 25 ноября 2008

У меня есть страница ASP, которая будет запрашивать записи из таблицы БД и выполнять некоторую обработку, а затем отображать HTML-таблицу в браузере. Моя таблица содержит более 16000 строк. Когда я запускаю программу с выбором топ-2500 StudId, StudName от StudentsTbl, он работает нормально. Но когда я использую, выберите «StudId, StudName from StudentsTbl», он не показывает никаких результатов. Я использую Response.flush () после каждых 50 записей в цикле while. Может кто-нибудь сказать мне, как решить эту проблему? Заранее спасибо


На самом деле я бы создал файл Excel на этой странице ASP, добавив Response..ContentType = "application / vnd.ms-excel", что мне нужно для генерации всех данных один раз

Ответы [ 3 ]

1 голос
/ 25 ноября 2008

Исходя из вашего описания проблемы, держу пари, что вы используете IE в качестве тестового браузера. Response.Flush () - это , выводящий HTML, но он не будет отображаться сразу, потому что IE не знает, как отображать таблицу постепенно. Вместо этого IE ожидает вывода всей таблицы, прежде чем перетянуть ее в окно браузера. Ваш скрипт не проблема, IE есть.

Учитывая сказанное, я хочу отметить, что ваш дизайн в корне ошибочен. Подумайте о своем сценарии с точки зрения удобства использования: нет разумной причины, по которой вам нужно вывести 16000 строк данных одновременно. Создайте страницу набора записей в SQL или ограничьте набор записей первыми 1000 строками, используя предложение TOP.

0 голосов
/ 11 декабря 2008

Server.ScriptTimeout = 3939393

поместите это наверху своей страницы (я просто выбираю случайное большое число). Я предполагаю, что вы получаете тайм-аут от IIS. По умолчанию 90 секунд.

Уберите ваш response.flush, он только замедляет его, поскольку сервер должен выводить каждые X мс клиенту. Вместо этого буферизуйте всю страницу (для повышения производительности установите ее в IIS по умолчанию).

Если ошибка все еще не устранена, в чем заключается ошибка? Может быть, ваши данные медленные.

0 голосов
/ 11 декабря 2008

Попробуйте вывести его в виде таблицы в браузер - держу пари, вы получаете сообщение об ошибке «Время ожидания скрипта».

Лучшая ставка - увеличить интервал ожидания. Вы можете сделать это с небольшим количеством кода в начале скрипта или сделать это в качестве глобальной настройки сервера. Я бы порекомендовал первое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...