Страница 1 из 1

Connection timeout (MS SQL Server)

Добавлено: 10 фев 2011, 08:05
Андрей Сорокин
Добрый день,
использую в коде конструкцию вида:

Код: Выделить всё

report.Dictionary.Databases.Add(new StiSqlDatabase("Connection", сonnectionString));
Можно ли задать timeout для коннекта? По-умолчанию 30 или 60 секунд, а скрипт на сервере иногда не успевает вернуть результат за это время в случае сложных/больших выборок и в клиенте вываливается ошибка. Хотелось бы установить timeout = 0
Спасибо.

Connection timeout (MS SQL Server)

Добавлено: 10 фев 2011, 08:31
Aleksey
Здравствуйте Андрей,

В данном случае, вам необходимо установить timeout не для соединения, а для источника данных "CommandTimeout".

Код: Выделить всё

StiSqlSource("Connection", "Table", "Table", "Select * from Table", true, false, 60);
Спасибо.

Connection timeout (MS SQL Server)

Добавлено: 10 фев 2011, 09:44
Андрей Сорокин
Спасибо за оперативный ответ! Т.к. в общем случае может быть несколько источников данных, я попробовал изменить дополнительные параметры коннекта, модифицировав строку коннекта (добавить в неё параметр Connect Timeout=0) - не помогло!
Помог следующий код:

Код: Выделить всё

foreach (StiSqlSource source in report.Dictionary.DataSources)
{
    source.CommandTimeout = 0;
}
Спасибо!

Connection timeout (MS SQL Server)

Добавлено: 10 фев 2011, 10:18
Aleksey
Здравствуйте Андрей,

Всегда рады помочь.