Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Увеличить таймаут ожидания базы данных? 
:(
    Опции темы
Dims
Дата 3.2.2009, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

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



Моя программа обращается к базе данных при помощи DataSet файла *.xsd, добавленного в проект. 

То есть, я сам не занимаюсь открытия соединения с базой данный и тому подобными низкоуровневыми вещами, делаю это визуально.

чтобы получить строчку из хранимой процедуры, я пишу вот такой код

Код

getTask = new ADSLParser.ADSLTableAdapters.GetTaskTableAdapter();
ADSL.GetTaskDataTable src = getTask.GetData();
getTask.Dispose();


здесь ADSLParser.ADSLTableAdapters -- это namespace
а GetTaskTableAdapter -- это класс

Всё это создано автоматически в ответ на то, что я мышкой перенёс хранимую процедуру GetTask из сервер-эксплорера на DataSet

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

Вопрос: как увеличить время ожидания?

Вопрос похож вот на этот решённый вопрос: http://forum.vingrad.ru/forum/topic-242177.html
Может быть и решение похожее?
PM MAIL   Вверх
emmanuil
Дата 3.2.2009, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Dims @  3.2.2009,  12:56 Найти цитируемый пост)
То есть, я сам не занимаюсь открытия соединения с базой данный и тому подобными низкоуровневыми вещами, делаю это визуально.

Управление соединением с БД это совсем не низкоуровневая задача. smile От того как правильно вы будите управлять соединением, будет зависеть производительность сервера, да и самой программы. Лучше, если вы будете сами управлять соединением с БД.
Управлением таймаутом подключения - DbConnection.ConnectionTimeout, 0 - неограниченно.
Управлением таймаутом выполнения команды - DbCommand.CommandTimeout, 0 - неограниченно.
Цитата(Dims @  3.2.2009,  12:56 Найти цитируемый пост)
После того, как программа какое-то время работает с базой, база начинает работать медленно и при вызове процедуры возникает ошибка таймаута.
 Возможно из-за многочисленных незакрытых соединений. Или слишком много объектов DataTable с данными в приложениями. DataTable расходует много памяти. Лучше отказаться от сгенерированного студией кода с DataSet'ами и переходить на бизнес-сущности, они и легче и использовать их удобнее. Напишите текст ошибки, может на сервере просто срабатывает ограничитель на количество соединений.


Это сообщение отредактировал(а) emmanuil - 3.2.2009, 19:14
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




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


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

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