|
ADO 컴포넌트를 사용하여 Postgres DB 서버에 접속하는데요
제가 주로 쓰는 것은
TADOConnection 과 TADODataSet 입니다.
그런데 문제는 서버에 접속하고 간단한 작업을 한 후 서버 접속을 끊고 싶은데 서버에서 ps -aux로 확인해 보니
DB에 접속 상태입니다. 아래 소스처럼 해제해도 프로그램이 종료되기 전까지는 서버에 계속 연결 상태로 있습니다.
컴포넌트 버그인지 아니면 제가 잘못 사용하고 있는지 모르겠습니다. 아시는분 있으시면 알려주세요~
void __fastcall TMainFrm::FormCreate(TObject *Sender)
{
TADOConnection *Conn;
TADODataSet *RecordSet = new TADODataSet(this);
Conn = new TADOConnection(this);
Conn->ConnectionString = "Provider=PostgreSQL OLE DB Provider;Password= ... " <- 서버 접속 문자열
Conn->Open();
RecordSet->Connection = Conn;
RecordSet->Prepared = TRUE;
RecordSet->CursorType = ctStatic;
RecordSet->LockType = ltOptimistic;
RecordSet->CommandTimeout = 120;
RecordSet->CommandType = cmdText;
RecordSet->CommandText = "SELECT Sms_Use, Sms_Id, sms_have_count FROM USERAUTH ";
RecordSet->Open();
/*
작업
*/
if(RecordSet->Active) RecordSet->Close();
if(Conn->Connected) Conn->Close();
delete RecordSet;
delete Conn;
}
|