2012-04-01 4 views
0

Oracle의 한 스키마에서 사용자에게 권한을 부여합니다. SSIS를 사용하여 oracle 데이터베이스에 액세스 할 때 모든 테이블과 스키마를 보았습니다. SQL Plus를 사용하면 하나의 스키마 만 표시됩니다.SSIS가 Oracle 권한을 깨기

무엇이 문제입니까?

답변

1

SQL * Plus의 테이블을보기 위해 실행중인 쿼리는 무엇입니까? USER_TABLES을 쿼리하는 경우 현재 사용자가 소유 한 테이블 만 표시됩니다. ALL_TABLES을 쿼리하는 경우 소유자에 관계없이 쿼리 할 수있는 모든 테이블이 표시됩니다. 당신이 DBA_TABLES를 조회하는 경우, 당신은 당신이 DBA% 오브젝트를 조회하기 위해 추가 권한이 필요하지만 (데이터베이스의 모든 테이블을 볼 수 있습니다. 이에 대한 자세한 내용이수록되어 how to get a list of all the tables in a database에 대한 또 다른 질문이

있습니다.

+0

를 내가 USER_TABLES를 사용하여 미안 마지막 질문을 이해하지 못합니다. SSIS의 "Oracle Provider OLEDB"를 사용하여 Oracle 데이터베이스에 액세스 할 때 어떤 방식 으로든 데이터베이스의 모든 테이블, 뷰어 및 모든 스키마를 보았습니다. –

+0

@HossamAhmed - 사용자가 'USER_TABLES' 현재 사용자가 소유 한 테이블 만 볼 수 있습니다. 테이블이 아닌 다른 개체를 보려면 다른 데이터 사전 뷰를 쿼리해야합니다. 예를 들어 현재 사용자가 소유하고있는 뷰를 'USER_VIEWS'에 표시합니다. 너는 싶어. 당신은 소유하고 있지는 않지만 접근 할 수있는 객체를 보게되면,'ALL_TABLES','ALL_VIEWS' 등을 쿼리 할 필요가 있습니다. 대부분의 GUI 도구가 쿼리합니다. –