![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADO [D5, MSSQL, ]
VA © (2001-12-31 01:52:00)Кто-нибудь подскажет как изменить время ожидания выполнения запроса. ADOConnection.CommandTimeout похоже не помогает
Delirium (2002-01-04 17:26:00) [1]> handra
А сколько клиентов у вас ?
handra (2002-01-04 16:52:00) [2]>Delirium ©
как правило стоит 0, т.е. unlimited
хотя команды без той строчки, которую я указал вверху,
выполняются с тайм-аут 60 секунд
Delirium (2002-01-04 16:33:00) [3]Загляни сначала сюда:
Enterprise Manager->Твой сервер->Properties->Connections->Query time-out
handra (2002-01-04 16:12:00) [4]У TADOConnection в событиях на OnWillExecute напиши строчку:
Command.CommandTimeout := Connection.CommandTimeout;
C CommandTimeout - это явный баг господ из Борланда...
Mute (2002-01-04 13:13:00) [5]Можно написать свой компонент. Что-то типа:
type
TDCADOQuery = class(TCustomADODataSet)
private
{ Private declarations }
FSQL: TSTrings;
FRowsAffected: Integer;
function GetSQL: TStrings;
procedure SetSQL(const Value: TStrings);
function GetCommandTimeout: integer;
procedure SetCommandTimeout(Value: integer);
procedure Close;
protected
{ Protected declarations }
procedure QueryChanged(Sender: TObject);
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function ExecSQL: Integer; {for TQuery compatibility}
property RowsAffected: Integer read FRowsAffected;
published
{ Published declarations }
property DataSource;
property EnableBCD;
property ParamCheck;
property Parameters;
property Prepared;
property SQL: TStrings read GetSQL write SetSQL;
property CommandTimeout: integer read GetCommandTimeout
write SetCommandTimeout default 30;
end;
Delirium (2002-01-01 13:15:00) [6]Это делается в настройках самого MSSQL, а CommandTimeout может лишь ограничить это время, но не увеличить его.
kig (2001-12-31 17:08:00) [7]The CommandTimeout setting on a Connection object has no effect on the CommandTimeout setting on a Command object on the same Connection; that is, the Command object"s CommandTimeout property does not inherit the value of the Connection object"s CommandTimeout value.
Явно назначайте CommandTimeout для ADODB.Command