<환경>
레코드길이 : 497바아트
레코드수 : 1,348,711건
DB : SQL Server6.5
Delphi 3.0
아래문을 8 x 10(80번)을 반복수행합니다.
근무시간(사용자가 많음)에는 4-5번 수행시 발생하고 사용자가 없을 때는 작업이 완료
되기도 하고 50-80번 사이에 에러가 발생합니다.
해당 Query를 iSQL에서 실행하면 수행이 되나 DataBase Explorer 실행하면 아래 에러가
그대로 발생합니다.
BDE의 Max Query Time 을 느려보고, SQL server configuration도 바꿔봤습니다.
혹시 tempdb 사이즈와 연관이 있는지(?)...
해결방안이 있으면 부탁드리겠습니다.
with qryTemp do begin
Close;
SQL.Clear;
SQL.Add('SELECT ISNULL(COUNT(PURPOSE), 0) AS PURPOSE');
SQL.Add(' , ISNULL(SUM(APAMOUNT), 0) AS APAMOUNT');
SQL.Add(' , (SELECT ISNULL(SUM(TOTFEE), 0)');
SQL.Add(' FROM SDAILYEND');
SQL.Add(' WHERE ENDDATE BETWEEN ''' + sDate1 + '''');
SQL.Add(' AND ''' + sDate2 + '''');
if sDeptCode <> '' then SQL.Add(' AND GPCODE IN (''' + sDeptCode + ')');
SQL.Add(' AND GPGUBUN IN (''S'', ''T'')');
if sPurpose <> '' then SQL.Add(' AND PURPOSE IN (''' + sPurpose + ')');
SQL.Add(' ) AS TOTFEE');
SQL.Add('FROM SDAILYEND');
SQL.Add('WHERE ENDDATE BETWEEN ''' + sDate1 + '''');
SQL.Add(' AND ''' + sDate2 + '''');
SQL.Add(' AND GPSEQNO = ''0''');
if sDeptCode <> '' then SQL.Add(' AND GPCODE IN (''' + sDeptCode + ')');
SQL.Add(' AND GPGUBUN = ''R''');
if sPurpose <> '' then SQL.Add(' AND PURPOSE IN (''' + sPurpose + ')');
Open;
Project KABPLANPRT.exe raised exception class EDBEngineError
with message 'Locktime out
SQL Serfer connection timed out'. Process stopped. Use Step or Run
to continue.