안녕하세요
SP를 통해 Data의 Insert를 진행할려고 합니다.
다음의 코드를 실행하면 문제 없이 실행되는데
프로그램과 fbserver.exe의 메모리가 점점 증가 되는 현상(누수)이 벌어 짐니다.
이문제로 몇일째 방법을 찾고 있는데 딱히 해결책이 보이지 습니다. ㅜㅜ
-----------------
사용 SP
-----------------
<!--CodeS-->
CREATE OR ALTER PROCEDURE INSERT_RAIN_PERCEIVE (
S_DATETIME TIMESTAMP) /* 측정시간 */
AS
BEGIN
INSERT INTO RAIN_PERCEIVE_RAW ( RAIN_PERCEIVE_START, RAIN_PERCEIVE_END)
VALUES ( :S_DATETIME, NULL);
END
<!--CodeE-->
----------------
delphi code
----------------
<!--CodeS-->
procedure TFDataModule.SP_Insert_RainPerceive(DT: TDateTime);
var
ZSp: TZStoredProc;
sTmp: String;
begin
if FDBCon = nil then
begin
WriteLog(' Err: SP_Insert_RainPerceive, Connection 객체가 생성되지 않았습니다.');
Exit;
end;
FDBCon.StartTransaction;
ZSp := TZStoredProc.Create(nil);
ZSp.Connection := FDBCon;
try
ZSp.StoredProcName := 'INSERT_RAIN_PERCEIVE';
ZSp.Params.Clear;
ZSp.Params.CreateParam(ftDateTime, 'S_DATETIME', ptInput).Value := Dt;
try
ZSp.ExecProc;
ZSp.Active := TRUE; // 이부분 제거시 insert는 이루어지는데 메모리가 계속 증가됩니다.
FDBCon.Commit;
except
on E: Exception do begin
sTmp := E.Message;
WriteLog(' Err: INSERT_RAIN_PERCEIVE' + sTmp);
FDBCon.Rollback;
end;
end;
finally
ZSp.Active := FALSE; //
ZSp.Destroy;
end;
end;
<!--CodeE-->