권한을 다 주었는데 ora 00942 '테이블 또는 뷰 가 존재 하지 않습니다' 오류나 납니다. 0 4 22,768

by 두두나리 [SQL Developer] [2014.01.19 15:08:56]


안녕하세요 오라클 초보 입니다. 
계정1, 계정2 가 있습니다. 
계정1에서 계정2로 특정 테이블에 대한 select , insert, delete , update 권한을 주고 동의어 생성을 했습니다. 

지금껏 여러 테이블들 잘 사용해 왔는데요

특정 테이블에 대해서 insert 할때만  제목과 같이 'ora 00942  '테이블 또는 뷰 가 존재 하지 않습니다'  라고 오류가 납니다. 
계정2에서 select 해 보면 다 나오구요 

계정2에서 권한 확인해도 인서트 권한이  있다고 나오는데요 

무엇 때문일까요 알수가 없습니다. 도와주시면 감사하겠습니다. 
by Oracler [2014.01.19 19:29:50]
해당 에러가 나올만한 경우는
1. 테이블 또는 동의어 이름을 틀리게 썼을때
2. 테이블에 대한 인서트 권한이 계정2에 없을때
3. 계정1이 생성한 동의어에 대한 접근권한이 없을때(질문상으론 동의어를 어떤 계정에서 만들었는지 모르겠네요)
그외 다른 경우는 현재로선 생각안네요.

by 두두나리 [2014.01.19 20:51:54]
제가 질문을 너무 간단히 올린것 같습니다. 
계정 1에는 
 insert, select, update, delete 권한을 계정2에게 주었습니다.

계정 2에서는 동의를 생성하였습니다. 

이런 방법으로 지금껏 계정1에서 생성한 테이블들을 계정2에서는 insert, select, update, delete 권한 만을 가지고
작업을 했습니다. 그런데 질문과 같은 현상이 나타납니다. 

어떤 다른 이유가 있을까요?

by sspkos [2014.01.20 09:57:46]
위 내용대로 라면 두두나리님 께서 처리 하신대로 큰 문제가 없어 보입니다.

일반적으로 sqlplus,developer2000,토드 등에서 시노님을 조회 하는데 문제가 없었다면

혹여
프로그램의 property 파일을 확인 해 볼 필요가 있을거 같습니다.
테스트를 하다보면 property파일에 다른 계정으로 표기 되어 있을수는 없는지 확인이 필요할거 같은데요^^
자바프로그램이라면 WEB-INF/system.properties의

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@서버명:2521:ora10 ------------------->이 부분도 확인 필요하구요
username=계정 ------------------------------------------------------->이 부분요
password=비밀번호

그리고 또한가지 insert구문에 오류가 없는지 확인이 필요할거 같은데^^




by 마농 [2014.01.20 11:20:58]
insert 할때만 에러 나나요?
select, update, delete 는 정상이구요?
그럼 insert Trigger 가 걸려있는게 아닐까요?
트리거 확인해 보세요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입