cbuilder 4.0으로 다음과 같은 프로그램을 작성하였습니다.
하나의 프로그램에서 여러개의 쓰레드를 띄우고 각 쓰레드는 oracle에 접속하여
데이터를 조회합니다. 업무시간을 판단하여 업무시간일 경우에는 database열고
그렇지 않을 경우에는 연결을 끊습니다.
그런데 이런 상태로 수 주내지 한두달 정도 지나고 나서 오라클 쪽에서 보면 오라클
세션이 일정하게 유지되는 것이 아니라 쓰레드 숫자의 몇 배로 쌓여있습니다.
어떠한 경우에 이런 일이 발생하는 것인지 잘 모르겠군요.
세션의 숫자를 일정하게 유지하도록 하는 방법이 없을 까요?
제가 코딩한 방식은 다음과 같습니다.
...
근무시간체크
if 근무시간
if db.Connected
db.Close();
else
if !db.Connected
db.Open();
,
,
,
query->Close();
query->SQL->Clear();
query->SQL->Add("Select ....")
,
,