Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

ASP файл обращается к процедуре на SQL Server, но она долго выполняется и выдается ошибка Timeout Expired. Помогите!!! :-)

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
tanya_nt



Зарегистрирован: 30.05.2003
Сообщения: 10

СообщениеДобавлено: Пт Май 30 2003 07:36    Заголовок сообщения: ASP файл обращается к процедуре на SQL Server, но она долго выполняется и выдается ошибка Timeout Expired. Помогите!!! :-) Ответить с цитатой

Да в теме, в общем-то всё сказано... Только вот не надо мне,
пожалуйста, про "NT, IIS, ASP и SQL Server - отстой", а вот Linux,
PHP и Oracle"... Знаю. И про "перепиши процедуру" наслушалась. Она и
так идеальна. Ну, сложная просто... Smile) Так вот какие можно поменять
настройки и у чего? И где? И как..? М-да... Или может есть другие
пути? Пожалуйста, может кто знает... Помогите, а?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Вячеслав
Гость





СообщениеДобавлено: Пт Май 30 2003 10:59    Заголовок сообщения: Re: ASP файл обращается к процедуре на SQL Server, но она долго выполняется и выдается ошибка Timeout Expired. Помогите!!! :-) Ответить с цитатой

А сколько по времени если не секрет выполняется "идеальная" процедура?
Вернуться к началу
tanya_nt



Зарегистрирован: 30.05.2003
Сообщения: 10

СообщениеДобавлено: Пт Май 30 2003 11:22    Заголовок сообщения: Re: ASP файл обращается к процедуре на SQL Server, но она долго выполняется и выдается ошибка Timeout Expired. Помогите!!! :-) Ответить с цитатой

Полторы минуты, Вячеслав. Нет, ну правда сложная, чего вы все на эту процедуру грешите? Хорошая она. Может и не идеальная, конечно. Так идеи есть, или поиздеваться..? Smile)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Борис
Гость





СообщениеДобавлено: Пт Май 30 2003 12:46    Заголовок сообщения: Обычно длительность таймаута определяется на сервере, хотя и клиентская сторона тоже может задавать свой таймаут. (+) Ответить с цитатой

Полторы минуты? Недолго, вообще-то. Посмотрите временные (ударение на ы) настройки Вашего клиента. И неплохо бы привести полную диагностику. Наверное, в ней кроме "Timeout Expired" что-то полезное есть.
Вернуться к началу
Sclis
Гость





СообщениеДобавлено: Пт Май 30 2003 13:11    Заголовок сообщения: угу... Ответить с цитатой

угу. и для начала поискать узкое место. та же процедура в лоб на сервере сколько выполняется? да? а клиентом нетребовательным? может узкое место - сеть? а может надо данные поразмашистей организовать? чтобы больше места занимали, но доступ быстрее был? полторы минуты это на тестовой базе в сотню записей?Smile
Вернуться к началу
Вячеслав
Гость





СообщениеДобавлено: Сб Май 31 2003 12:09    Заголовок сообщения: Re: ASP файл обращается к процедуре на SQL Server, но она долго выполняется и выдается ошибка Timeout Expired. Помогите!!! :-) Ответить с цитатой

Варииант 1: Кроме кода процедуры есть еще и дизайн БД SQL server - судя по всему он весьма не здоровый (на это косвенно указывает время выполнения процедуры и ее сложность). Стоит еще обратить внимание на настройки сервера и на тип коннекта к серверу .

Варииант 2:
Как я понимаю все решено в "лоб"
в ASP открыт коннект к БД и выполнятся
процедура !?
Попробуй вынести код (логиику ) связанный с БД в отдельный компонент (например COM DLL)
тогда можно отказаться от процедуры
или при запуске процедуры запускать таймер
(что позволит сделать на клиенте имитацию прогресс бара) и прочее
Вернуться к началу
tanya_nt



Зарегистрирован: 30.05.2003
Сообщения: 10

СообщениеДобавлено: Пн Июн 02 2003 07:00    Заголовок сообщения: "Диагностику", говорите... :-) Ответить с цитатой

>>Полторы минуты? Недолго, вообще-то. Посмотрите временные (ударение на ы) настройки Вашего клиента. И неплохо бы привести полную диагностику. Наверное, в ней кроме "Timeout Expired" что-то полезное есть.

Здравствуйте, Борис.
Спасибо что откликнулись... Понимаете в чем дело... Моему знакомству с АСП едва ли несколько дней... В общем, зря я, конечно, надеялась, что мне напишут конкретно: "Открываешь то-то и пишешь так-то"... А ведь надеялась... Smile Уже посмотрела все настройки IIS, где что-то сказано про время. Меняла. Бесполезно. Настроить параметры соединения в коде asp-файла я не могу по причине ужасающей безграмотности в этом вопросе. А браузер выдает мне следующее:
Технические сведения (для сотрудников службы поддержки)
Тип ошибки:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E31)
[Microsoft][ODBC SQL Server Driver]Timeout expired
/debt.asp, line 19
Тип обозревателя:
Mozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.0 [en]
Страница:
GET /debt.asp
Я мало что понимаю, но вроде как OLE DB Provider for ODBC - это о чем-то другом совсем, нежели настройки SQL сервера... Smile Простите мне мою тупость... Smile)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
tanya_nt



Зарегистрирован: 30.05.2003
Сообщения: 10

СообщениеДобавлено: Пн Июн 02 2003 07:06    Заголовок сообщения: Re: угу... Ответить с цитатой

>>угу. и для начала поискать узкое место. та же процедура в лоб на сервере сколько выполняется? да? а клиентом нетребовательным? может узкое место - сеть? а может надо данные поразмашистей организовать? чтобы больше места занимали, но доступ быстрее был? полторы минуты это на тестовой базе в сотню записей?Smile

Я так думаю, что узкое место - мой мозг. Smile)) Полторы минуты - это я её когда из Query Anayzer'а запускаю. То есть она выполняется нормально и сервер меня не посылает, что так долго ему работать приходится. Выходит, дело в IIS, что у меня установлен? Или там чего-то ещё про какие-то драйвера? Может настройки ODBC? Ну, вряд ли браузер, так ведь? Как думаете? Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
tanya_nt



Зарегистрирован: 30.05.2003
Сообщения: 10

СообщениеДобавлено: Пн Июн 02 2003 07:15    Заголовок сообщения: Re: ASP файл обращается к процедуре на SQL Server, но она долго выполняется и выдается ошибка Timeout Expired. Помогите!!! :-) Ответить с цитатой

>>Варииант 1: Кроме кода процедуры есть еще и дизайн БД SQL server - судя по всему он весьма не здоровый

Это точно. Но претензии не ко мне. И изменить я что-либо не в силах.

>>Варииант 2:
>>Как я понимаю все решено в "лоб"
>>в ASP открыт коннект к БД и выполнятся
>>процедура !?

Ага. Это очень плохо?

>>Попробуй вынести код (логиику ) связанный с БД в отдельный компонент (например COM DLL)
>>тогда можно отказаться от процедуры

Дело в том, что мне предстоит перевести кучу бухгалтерских отчетов в нашу интранет-сеть. То есть я не могу оптимизировать или переделать всё это море процедур, которые писала не я одна. Мне бы очень желательно воспользоваться тем, что есть. И поскорее. Smile))

>>или при запуске процедуры запускать таймер

Как мне может помочь таймер? Smile) Писать, типа: "До выдачи сообщения об ошибке осталось 10, 9, 8, 7,... секунд"? Smile)
А Вы не могли бы дать мне свой адрес, чтобы я Вам всё подробно расписала? Я так думаю, если ломается машина на трассе, то кто-то берет ведь и тянет, так ведь, да? А если все будут высказывать предположения, типа: "Наверное это свечи полетели", "Стартер, кажись" или "Да у тебя вообще машина отстойная", то это не помощь, а издевательство, так ведь? Smile)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Борис
Гость





СообщениеДобавлено: Пн Июн 02 2003 08:21    Заголовок сообщения: Re: "Диагностику", говорите... Ответить с цитатой

>>Microsoft OLE DB Provider for ODBC Drivers (0x80040E31)
>>[Microsoft][ODBC SQL Server Driver]Timeout expired

Драйвер ODBC (на клиентской стороне) не может соединиться с SQL-сервером, и он, а не сервер, сообщает о таймауте.

>>/debt.asp, line 19

Это строка в исходном скрипте, в которой выполняется попытка соединения. Проанализируйте ее или выставите фрагмент с этой строкой здешнему товариществу для критики.

>>GET /debt.asp

Файл, в котором возникла ошибка, но это уже известно, поэтому пока не интересно.
Вернуться к началу
Борис
Гость





СообщениеДобавлено: Пн Июн 02 2003 08:29    Заголовок сообщения: Дополнение к предыдущему сообщению Ответить с цитатой

Тут говорить о "выполнении" не приходится, так как Ваша машина 1,5 минуты просто ждет установления соединения, а потом, не получив ответа от сервера, прекращает работу.

PS. Ждем содержимого debt.asp, хотя причина, наверное, просто в неправильных параметрах установления соединения.
Вернуться к началу
tanya_nt



Зарегистрирован: 30.05.2003
Сообщения: 10

СообщениеДобавлено: Пн Июн 02 2003 09:25    Заголовок сообщения: Рассказываю начистоту... :-)) Как врачу. :-) Ответить с цитатой

>>Тут говорить о "выполнении" не приходится, так как Ваша машина 1,5 минуты просто ждет

Ну, выкинула всё лишнее из файла. И откомментировала после проведения ряда опытов. Вот оно. Оговорюсь лишний раз, хотя со мной и так всё ясно, я новичок. Smile И файл тестовый. А цель теста - посмотреть, возможно ли вообще сделать наши все отчеты на основе хранимых процедур доступными по внутренней сети. Впрочем, возможно всё. К делу. Smile





"

Do While Not RS.EOF
strOut = strOut & ""
strOut = strOut & "    " & RS.Fields("customer_code") & "   "
strOut = strOut & ""
RS.MoveNext
Loop

strOut = strOut & ""

RS.Close
Conn.Close
Set RS = Nothing
Set Conn = Nothing
Response.Write strOut
%>




// Ну, тут всё ясно. Очень жду помощи. Доктор... Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
tanya_nt



Зарегистрирован: 30.05.2003
Сообщения: 10

СообщениеДобавлено: Пн Июн 02 2003 09:33    Заголовок сообщения: Ой!!! Это что такое? Ну, ещё раз, значит. Ответить с цитатой

Я наверное какие-то символы использовала, которые нельзя... Вот блин. Ну, ещё раз без них. Теги наверное нельзя, да? Вот черт. Позор-то какой. Smile)) Ладно, на словах.
Ну, там, объявление переменных, установка соединения, потом вызов процедуры с кучей параметров. Замечу, что когда я писала этот запрос в Query Analyzer'е, то он выполняется. Правда, от 40 секунд до 1,5 минут. Возвращает что-то несколько тысяч записей. Интересно, что, когда выполнялся этот файл, то сообщение об ошибке вываливалось через 35 секунд примерно. И всегда одно и то же время, что, наверное о чем-нибудь да говорит. Smile О чем? Продолжаю. Ещё я пробовала выбрать все записи из таблицы поставщиков и заказчиков (15000 тысяч примерно), так вот ошибка выдана мне была через более чем полторы минуты (простите мой русский), но ошибка была другой - превышение времени исполнения скрипта, вроде. Но это я настроить смогу и понятно отчего. Рекордсет большой. Дальше. Пробовала выбрать данные из таблицы поменьше. Выбрала. Попробовала выполнить процедуру попроще. Сработало.
Ну, дальше там всё закрываю и вывожу. Во-от... Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Вячеслав
Гость





СообщениеДобавлено: Пн Июн 02 2003 11:47    Заголовок сообщения: Re: ASP файл обращается к процедуре на SQL Server, но она долго выполняется и выдается ошибка Timeout Expired. Помогите!!! :-) Ответить с цитатой

>Как мне может помочь таймер? Smile) Писать, >типа: "До выдачи сообщения об ошибке >осталось 10, 9, 8, 7,... секунд"? Smile)

наверное это самое лучшее решение

>А Вы не могли бы дать мне свой адрес, чтобы >я Вам всё подробно расписала?

Особенно интересно как открыто подключение к БД и где выполнятся SP надеюсь это Сommand?
e-mail наверху
Вернуться к началу
Борис
Гость





СообщениеДобавлено: Пн Июн 02 2003 12:10    Заголовок сообщения: Вячеслав Вам поможет. Если все-таки хотите здесь (+) Ответить с цитатой

критику послушать, то вместо знака "меньше" пишите тег "<", остальные символы вроде здесь отображаются верно.
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...