안녕하세요. 캐드 프로그램의 데이터베이스 관련 하여 프로그래밍을 시작했습니다.
oracle 11g 사용중입니다. ODAC 설치하여 mdb파일의 데이터를 복사하여
oracle 데이터베이스를 생성하였습니다.
visual basic으로 프로그래밍 작업 중인 상태인데, 기존에 mdb 데이터베이스에 접근하기 위해
'Componentdata' 라는 테이블 이름으로 데이터 값을 얻어왔습니다.(ms-sql도 동일한 테이블명을 사용하여 데이터 접근 가능했음)
(예 : "SELECT Description FROM Componentdata WHERE Entry='TERMINAL')
(아래 access 테이블 사진 참고)
하지만 oracle 데이터베이스 생성 후, visual basic에서 OracleDataReader 명령어로
위에 예로 든 데이터베이스 쿼리문?을 사용하니
"테이블 또는 뷰가 존재하지 않습니다"라는 메세지가 출력되어 데이터 값을 얻어올 수 없습니다.
CMD에서 SQLPLUS SYSTEM/ID@PW로 로그인하여
GRANT SELECT ON COMPONENTDATA TO ID 로 테이블을 확인해보려 해도 동일한 메세지가 출력되네요.
(아래 cmd창 사진 참고)
아마도 MDB 구조와 ORACLE 데이터 구조가 달라서 테이블을 읽지 못하는 것으로 생각하고 있긴 한데
그래서 CMD에서 select * from dba_tables; 명령어로 테이블을 검색해보니 제가 원하는 테이블명과 관련된게 없고 생소한 이름들 뿐이었습니다.
데이터베이스를 공부한 경험이 없어서 질문 자체가 모호하고 의미가 잘 전달되지 않을 수도 있겠다, 라고 생각합니다.
지금 여기까지 온 것도 며칠동안 구글 검색을 통해서 왔는데 이 부분에서 막혀버렸네요 ㅜ.ㅜ
전문가분들의 도움이 절실히 필요합니다.!
**질문 정리**
MICROSOFT ACCESS의 MDB파일 데이터를 오라클로 이전한 경우,
기존 MDB파일에서 사용되고 있던 테이블명(COMPONENTDATA)은 오라클에서 어떤 형태로 저장되는가(혹은 어떻게 데이터에 접근할 수 있는가)
입니다.
*참고*
제가 ORACLE 데이터베이스로 원하는 작업은
MDB데이터베이스 기준으로 봤을 때,
COMPONENTDATA라는 테이블에서 ENTRY가 ZK_PIN_TERMINAL인 항목의 DESCRIPTION 값을 얻어오는 작업을 하려고 합니다.(아래 access 테이블 사진)
sqlplus 로 oracle db 에 system 계정으로 접속 해 보시고, 아래 쿼리 날려보세요.
set line 160;
col owner for a 30;
col object_name for a30;
col object_type for a30;
select owner, object_name, object_type, to_char(created, 'yyyy/mm/dd hh24:mi:ss') as created from dba_objects where created >= to_date( '이관한날짜 yyyy/mm/dd 포맷으로' , 'yyyy/mm/dd') ;
네. 제가 원했던 VISUAL BASIC 코딩 부분에서는 KHR에 접속도 잘 되었습니다.
KHR계정에서 데이터베이스 연결할 때는 FROM KHR."ComponentData"로 입력해서 연결이 되었습니다.
위에 댓글에서, KHR 계정으로 접속이 안된다는건
시스템 계정으로 연결할 때 CMD에서 SQLPLUS SYSTEM 로 연결했었지만
KHR계정으로 연결할 때 SQLPLUS KHR로 입력하니 유효하지 않은 유저라고 나옵니다..
사용자명을 KHR로 입력을 하면, 비밀번호 입력하는 라인에서 멈춤현상이 일어나 아무것도 입력할 수가 없는 상태가됩니다...
CMD에서는 시스템으로만 연결이 되는 것이 맞는건지요?