在Server 2012上设置SQL propery缓慢

时间:2016-04-06 14:19:44

标签: delphi delphi-7 ado

我遇到了Server 2012 R2 Foundation和我编写的应用程序(Delphi 7 Pro)的问题。

有一项服务通过TCP接收数据,对MS SQL服务器数据库进行检查,并通过TCP返回数据。

此服务目前在所有Server 2008上的多个其他服务器上运行。

从DB

读取数据的过程的一部分
qry := TADOQuery.Create(nil);
try
  qry.ConnectionString := msConnectionString;

  LogEntry('Set SQL');
  qry.SQL.Text := 'Select * ' +
                  'from Users ' +
                  'where UserID = ' + QuotedStr(sUserID) +
                  ' and Password = ' + QuotedStr(sPassword);
  LogEntry('Open Qry');
  qry.Open;
  LogEntry('Open Qry - Done');      

  if qry.RecordCount = 0 then begin
    sUserName := '';
    iStatus   := 0;
  end else begin
    LogEntry('Set User Variables');      
    sUserName := qry.FieldByName('UserName').AsString;
    iStatus   := qry.FieldByName('Status').AsInteger;
  end;
finally
  FreeAndNil(qry);
end;

* LogEntry是一个客户程序,它写入带有时间戳的日志文件。

奇怪的是,在上面的代码中," qry.SQL.Text"是需要很长时间的部分,需要2秒钟。记录下面的提取物:

[15:48:45]   Create Qry
[15:48:45]   Set Sql
[15:48:47]   Open Qry
[15:48:47]   Open Qry Done

简单的属性赋值可能导致这么长的原因。

如果我将代码移动到Simple project1应用程序,结果是即时的。

0 个答案:

没有答案