database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
ㆍInformix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Informix Q&A 2345 게시물 읽기
No. 2345
[Q] ESQL에서 CONNECT 후 발생하는 -349오류
작성자
박종진(lovian)
작성일
2006-12-15 18:09
조회수
8,362

안녕하세요.

이틀을 공쳐도 해결이 안되어 질문드려봅니다.

 

ESQL/C 을 통해서 DB에 접속한 후 쿼리를 날리면, DATABASE선택이 되지 않았다는 위의 오류가 발생합니다.

물론 DATABASE이름이나 프로그램을 돌리는 계정과 서버 모두 이상이 없다고 생각합니다.

그 근거로는 간단히 CONNECT후 쿼리만날리는 프로그램을 만들어 돌려보면 정상작동하기 때문이죠.

 

혹시나하여 각 쿼리를 날리기 전에 EXEC SQL DATABASE ; 문장을 넣어보았습니다.

그 결과로 위의 문장을 추가한 쿼리는 정상작동하는 것이였습니다.

 

문제의 프로그램은 멀티 프로세스에 멀티 스레드 프로그램이며, DB쪽 관련 부분은 동적라이브러리를 사용합니다.

DB 라이브러리쪽에 접속, 접속종료 그리고 각 쿼리별로 각각의 함수로 만들어져 있습니다.

즉, 쿼리에 해당하는 함수를 호출할 때마다 DATABASE 를 선택 하게 하면 일단 해결은 되는셈이지요.

아마, DB 라이브러리 함수를 들어갔다가 나올때마다 무슨 차이가 있는 것 같기도 합니다.

 

DB차원에서 한 세션이 하는 모든 행동을 추적할 만한 방법이 없을까요? onstat sql 등의 방법을 사용해보기는 했으나, 커맨드를 쳐야나오는 방식이라 놓치는 것이 많습니다.

각 세션별 로그 같은 것이겠죠.

 

저의 가정라면 아래와 같다고 생각됩니다.

세션 A가 만들어 졌고, database가 선택이 되었다.

세션 A가 유효하지 않게 되었다. 혹은 current database가 null이 되어버린 사유

세션 A에 쿼리를 받았으나 current database가 null이어서 오류 발생

 

두번째에서 무슨 일이 발생한 것인지 알아내는 것이 제 목표입니다.

 

ESQL/C 사용시에 주의해야 할 조언을 주셔도 감사하겠습니다.

의견좀 부탁드리겠습니다. :)

 

이 글에 대한 댓글이 총 1건 있습니다.

자답입니다.

결국 저의 초보적인 실수 였습니다.

로그를 추가하다가 CONNECT 부분에 엉뚱한 조건문이 들어가서

CONNECT 가 되지 않은 상태에서 쿼리를 날린 현상이였습니다.

:)

박종진(lovian)님이 2006-12-16 14:20에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
2348quiescent mode 라고 뜨는데 바뀌질 않네요... [1]
길동이
2006-12-26
9331
2347set isolation to dirty read 설정을 oncofig 에서 할수 있나요. [1]
아라클
2006-12-22
8864
2346데이타 파일의 import시 문제발생 [1]
날다람쥐
2006-12-19
9156
2345[Q] ESQL에서 CONNECT 후 발생하는 -349오류 [1]
박종진
2006-12-15
8362
2343blob 타입 select 시 PHP 에러
신인식
2006-11-30
7949
2342[질문] 한글깨짐? [1]
조인포
2006-11-27
9767
2341[질문] -931 error (윈도우에서 informix 에 접속방법) [1]
오종목
2006-11-27
9486
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다