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