글목록

2014. 11. 14.

[ORA-ERROR] ORA-00942: table or view does not exist


  1. a 유저로 연결해서 b 유저의 테이블을 조회 할 경우. - 아니다. 연결값을 확인했다.
  2. 권한이 없는 경우. - 모르겠다. 권한이 일시적으로 제한되는 경우가 있나?
  3. 테이블명이 틀린 경우. - 모르겠다. 테이블명에 보이지 않는 문자가 들어가거나 인코딩 문제로 잘못 전달되는 경우가 있나?
    문자셋이 정확하게 정의되지 않아서 생기는 문제로 oci_connect() 전에putenv(”NLS_LANG=”) 로 NLS_LANG 를 설정해 준다.
참조: 오라클은 테이블명이 대문자로 저장된다. 그래서 테이블 생성시 “table” 과 table 은 각각
소 문자 table 과 대문자 TABLE 로 저장된다. 그래서 select 할 때 소문자 table 로 저장된 것을 table 로 조회 하면 테이블을 찾지 못한다. table 은 대문자로 변환되어 TABLE 을 찾게 되기 때문이다. 보통은 테이블명에 따옴표를 사용하지 않기 때문에 이런 경우는 없다고 본다.



댓글 없음:

댓글 쓰기