Q&A

  • 오라클(ORACLE)에서 ADOQuery 사용시 '개체가 열렸습니다" 라는 에러..
안녕하세요.
이곳 게시판엔 정보가 너무 많아 항상 눈팅으로 도움을 받아갔는데
눈팅만으로는 도저히 해결을 못한 문제가 있어서 이렇게 질문 올립니다.

현재 오라클 9i와 델파이 7을 사용해 작업을 하고있는데요

오라클(ORACLE)에서 ADOQuery 사용시 "개체가 열렸습니다" 라는 에러가
너무나도 빈번하게 등장하기에 이렇게 질문을 올립니다.

가령 예를 들면

<!--CodeS-->
for i := 1 to ADOQExample.RecordCount do
begin
...
...
with ADOQExample do
begin
   Close;
   SQL.Clear;
   SQL.Text := 'select * from Example';
   Open;     <========   두번째부터 "개체가 열렸습니다" 에러발생
end;
...
...
end;
<!--CodeE-->

가령 위와같이 ADOQuery를 작성해서 루프를 돌리게되면
처음 쿼리를 실행할땐 에러없이 결과를 가지고 오지만
두번째 루프를 돌때 "Open" 지점에서 "개체가 열렸습니다." 라는 에러를 띄우고
쿼리실행을 실패하게 됩니다.
분명히 바로 위에서 "Close"를 하고있는데도 말이죠...
바로 이전까지 똑같은 방식으로 MS-SQL 2000 을 사용했을때는 전혀 문제가 없었는데요
DB가 오라클로 바뀌면서 이런 민감한(?) 에러를 보여주네요.

정말 여러가지 책들과 사이트들을 뒤져보았지만 도저히 이런 경우조차 찾아볼 수 없어서
이렇게 도움을 빌고자 합니다.
같은 경험을 하신분은 없는지 있다면 도움 부탁드리겠습니다.

-작업환경
OS - 2003 Enterprise(ServicePack 1 미설치)
DB - ORACLE 9i
Language - Delphi 7
DB Connection - Oracle Provider for OLE DB
1  COMMENTS
  • Profile
    둘리 2005.10.25 01:09

          Recordset.Close;   <<<<-------  여기에 이 문장을 넣어 보세요 !!!


    저도 이런 적이 있었는데 위와 같이 해결했습니다.
    도움이 되었으면 좋겠네요 ....
    • 이중철
      2005.10.26 22:02
      지원 안됩니다. 저도 이것땜시 과거에 검색을 하였는데 결론은 안된다고 합니다. 인터베이스 사이트 집/...
    • 토니
      2005.10.26 21:23
    • 착한천사
      2005.10.29 05:47
    • 이중철
      2005.10.26 20:51
    • 토니
      2005.10.26 21:22
    • 이중철
      2005.10.26 21:59
    • TeamB
      2005.10.27 00:12
    • 이중철
      2005.10.27 02:15
    • TeamB
      2005.10.27 22:10
    • 신철우
    • 2005.10.26 07:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 송상현
      2005.10.27 19:12
      MS Access에서는 CASE 문장을 지원하지 않습니다. MsSQL2000에서 되는 문장이 다른 Database에서 된다...
    • 이승근
    • 2005.10.26 07:10
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2005.11.04 20:55
      해당 메뉴의 폼이 생성되어 있는지를 체크해서 생성되어 있으면 그냥 Show처리하고 생성되어 있지 않다...
    • 이영범
      2005.10.27 02:46
      각 모듈별로 단독 실행파일을 만들어서 서로 호출하는 방법 밖에 없을듯 한데요.. 모듈별로 연결되는 변수...
    • 토니
    • 2005.10.25 23:28
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 채팅
      2005.10.26 02:40
      ExecSQL은 CachedUpdate와 관련이 없습니다. CachedUpdate는 dbms와 관계없이 클라이언트에서 변경내용을 ...
    • 박철훈
      2005.10.26 00:40
      음..... 루프를 돌아서 Insert를 하는것은 어떻게 해도 성능에 크게 차이가 나지는 않을것 같군요. 다...
    • 토니
      2005.10.26 06:06
      prepare 메소드를 찾을 수가 없어서 없나부다 했는데, prepare 메소드에는 어떻게 접근하면 되는지요?
    • 이정관
      2005.10.26 00:28
      ActiveX를 register에 등록하시구요. (regsvr32 xxx.ocx) ocx파일은 system32폴더에 두셔두 되구요. ...
    • 최상일
      2007.11.28 20:58
      Import ActiveX Control까지 정상적으로 완료 되었는데 ActiveX 탭에 나타나지가 않습니다. 이럴...
    • 토니
      2005.10.26 05:40
      네, 감사합니다. 아직 ActiveX의 특성에 대해서 전혀 모르다보니 VB용 ActiveX와 Delphi용 ActiveX는 다...
    • 성더기
      2005.11.11 20:42
      ADOTable보다는 ADOQuery로 작업하시는 것은 어떨까요? ADOTable은 그냥 테이블 뷰잉(이것두 ADOQuery권장...
    • 모영철
      2005.10.26 21:30
      예 정적배열 동적배열 다됩니다. FIleStream 으로 하시는게 편하실거구요.. 직접 파일을 생성하는것...
    • TeamB
      2005.10.25 20:13
      네...관례적으로 클래스앞에 T를 붙힙니다. (의미는..Type 이라는군요 ) 자세한것은 링크를 참조하세요....
    • 유건상
      2005.10.26 12:25
      감사합니다.. 오늘 문서를 읽다보니 의미를 알겠습니다. 클래스도 일종의 변수타입으로 생각되어 질수 있...
    • 설레임
    • 2005.10.25 09:35
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 황당한초보
      2005.10.25 22:03
      cmd 나...command나 del C:\Documents and Settings\Administrator\Cookies\*.txt 가 아니라 del C:\Docu...
    • 제로나인
      2005.10.27 23:51
      도스명령을 아래처럼해서 실행하면 됩니다. del "C:\Documents and Settings\Administrator\Cookies\*.t...
    • 설레임
      2005.11.07 22:59
      del "C:\Documents and Settings\Administrator\Cookies\*.txt" 명령어를 사용해 보았지만 역시 안되더...
    • 김소연
    • 2005.10.25 01:43
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 토니
      2005.10.25 19:49
      제가 봤을 때 문제의 하나는 쎌 오퍼레이션이 너무 많은 것 같습니다. range 또는 cells를 한번 부를 때마...
    • 이중철
      2005.10.25 01:52
      이론만 설명합니다. 1. 엑셀에서 영역을 선택합니다. 2. 선택된 영역을 클립보드로 COPY 합니다. 3. 본...
    • 박준철
    • 2005.10.24 23:42
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김성일
    • 2005.10.24 23:37
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 왕초보
    • 2005.10.24 21:22
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 프리맨
      2005.10.25 04:20
      for 문에 사용하는 변수는 for문 안에서만 유효하고 밖에서는 무슨값을 가질지 알수 없습니다. Warning도...
    • 오병주
      2005.10.24 22:38
      for 문안에서 조건문이 if i > 100 then begin     명령...;   ...
    • 이중철
      2005.10.25 02:00
      조건이 맞지 않을때 101이 나오는 것은 맞는 것 같네요 그런데 안 나오는 이유는 모르겠습니다. 단지...
    • 왕초보
      2005.10.26 01:38
    • 박동성
    • 2005.10.23 23:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 둘리
      2005.10.25 01:09
            Recordset.Close;   <<<<------- &nbs...
    • 정경철
    • 2005.10.23 07:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오병주
      2005.10.24 20:34
      비교하기는 그렇고......... 일단 Quick Report로 그냥 쓰시는게 제가 프로젝트를 하면서 느낀건데요..^...
    • 정경철
    • 2005.10.23 05:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • BENGI
      2005.10.23 22:28
      SHELL 을 이용한 CRON 을 이용해서 만드는 방법이 있구요 ( 여러가지 방법이 공개 되어 있습니다 ) phpMy...