Q&A

  • DBExpress 프로그램 종료시 에러


DBExpress를 사용해서 2곳의 서버에 접속을 시키면 프로그램 종료시 에러가 발생하네요.
델파이에서 실행하면 에러가 나는데 exe 파일을 실행하면 에러가 나지 않네요.
그렇다고 exception이 발생하는것도 아니고..
예전에는 잘돌아가던 프로그램인데 포맷후 돌리니까 에러가 나네요.
뭔가 세팅 문제인거 같기도 하고..
소스는 아래와 같이 DB에 연결하고 다른작업없이 종료만 해도 에러가 발생해요.
에러 이미지는 첨부파일로 첨부합니다.
답변 부탁드립니다.

procedure TForm1.FormShow(Sender: TObject);
begin
  // DB1 접속
  with DB1 do begin
    ConnectionName := 'OracleConnection';
    DriverName := 'Oracle';
    GetDriverFunc := 'getSQLDriverORACLE';
    VendorLib := 'OCI.DLL';
    LibraryName := 'dbxora30.dll';

    Params.Values['User_Name'] := 'id';
    Params.Values['Password'] :=  'pwd';
    Params.Values['DataBase'] :=  'tns1';

    try
      Connected := True;
    except
      Application.MessageBox('DataBase1 접속에 실패하였습니다.', '확인', MB_IconInformation + MB_Ok);
    end;
  end;

  // DB2 접속
  with DB2 do begin
    ConnectionName := 'OracleConnection';
    DriverName := 'Oracle';
    GetDriverFunc := 'getSQLDriverORACLE';
    VendorLib := 'OCI.DLL';
    LibraryName := 'dbxora30.dll';

    Params.Values['User_Name'] := 'id';
    Params.Values['Password'] :=  'pwd';
    Params.Values['DataBase'] :=  'tns2';

    try
      Connected := True;
    except
      Application.MessageBox('DataBase2 접속에 실패하였습니다.', '확인', MB_IconInformation + MB_Ok);
    end;
  end;
end;


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  DB1.Close;
  DB2.Close;
end;
0  COMMENTS