c#으로 DB 조회 프로그램을 개발하는 중인데
메인 메뉴 아래 하위 메뉴들이 존재 하는 구성이며
시스템
- ~SQL 조회
- ~관리
- ~관리
위 처럼 각각의 하위 메뉴는 별도의 데브익스프레스 그리드뷰 폼으로 이루어져 있습니다
최초 프로그램 접속시 DB접속 정보를 입력 합니다
그런데 여기서 하위 메뉴중 SQL조회는 클라이언트가 직접 SQL문을 작성하여
원하는 데이터값을 얻을수 있게 상단엔 에디트, 하단엔 그리드뷰를 만들어서
SELECT, 즉 조회만 할수 있게 만들려고 합니다
물론 문자열 처리로 SELECT 이외엔 다 브레이크 시키면 되지만
그렇게 하면 예외사항도 많고 코드도 길어져 생산성이 떨어질것 같습니다
그래서 DB단에서 오라클로 권한을 주고 싶은데 이미 최초 접속시 어드민 유저로 접속을 한 상태인데
다른 유저를 그 폼안에서만 작동하게끔 할수 있는 방법이 없을 까요??
새로 생성한 유저는
GRANT SELECT ANY TABLE TO 생성한 유저명
GRANT CREATE SESSTION TO 생성한 유저명
이런식으로 권한을 준 상태인데..
즉 이미 프로그램 admin사용자로 접속된 상태인데
하나의 폼만 오라클 SELECT ANY TABLE 권한을 어떻게 주고 싶습니다
어떻게 방법이 없을까요?
이 방법이 아니더라도 다른 좋은 로직이 있으시면 조언부탁드립니다
P.S 핵심은 프로그램 안의 비슷한 DB조회, 입력, 수정 폼들에서
하나의 폼만 텍스트에디트로 SQL쿼리문을 받아서 조회만 되는(Select)만 가능하게 하고 싶습니다
쿼리로 시노님생성문을 일괄생성하여 스크립트를 돌리시는게 좋을 듯 합니다.
ex)
sqlplus user/password
set heading off
set feedback off
spool syn.sql
select 'create synonym ' ||table_name|| ' for user명.'||table_name||';'
from dba_tables
where -- 조건절추출, 시스템테이블제외
spool off
출력이 끝나면 확인 후, @syn.sql수행
- 현재 테스트 할 수가없어 대충 양식만 써드렸습니다.
수정하여 사용하시기 바랍니다.