MS-SQL 과 Oracle DB Link 로 연결하기
[연결방법]
1.MsSQL을 열어 로컬 데이터 베이스 구축하고 계정 생성 후
2.서버개체>연결된 서버>새 연결된 서버> 연결된 서버 명(MANI), 제품이름, 데이터 원본 모두에 오라클의 서비스 네임을 적는다
3.공급자는 Microsoft OLE DB Provider for Oracle을 선택 하고,
4.보안탭에 가서 다음 보안 컨텍스트를 사용하여 연결을 클릭하여 사용자 ID, PW를 적고 완료한다.(원래 오라클 접속정보)
5.새 연결된 서버가 생성 되면 연결 확인 하여 성공여부를 확인 완료!
쿼리
1. 오라클 계정의 테이블 조회
SELECT * FROM openquery(MANI, 'SELECT EMP_NMK FROM TA_EMP_MAS WHERE EMP_NMK = ''김진만'' ') <-작은따옴표가 앞에 두개붙음
OR
SELECT * FROM MANI..DSERP.TA_EMP_MAS WHERE EMP_NMK = '김진만'
2.오라클 계정의 테이블 CRUD
INSERT INTO OPENQUERY(MANI, 'SELECT * FROM MANI2 WHERE 1=0') SELECT MANI, MANI, MANI FROM MANI
OR
INSERT INTO MANI..DSERP.MANI2 SELECT MANI, MANI, MANI FROM MANI
참조 : https://m.blog.naver.com/PostView.nhn?blogId=kjinman83&logNo=100140001128&proxyReferer=http%3A%2F%2Fwww.google.co.kr%2Furl%3Fsa%3Dt%26rct%3Dj%26q%3D%26esrc%3Ds%26source%3Dweb%26cd%3D1%26ved%3D0ahUKEwju7YickPHVAhULWbwKHSX4B6cQFgglMAA%26url%3Dhttp%253A%252F%252Fm.blog.naver.com%252Fkjinman83%252F100140001128%26usg%3DAFQjCNFyd4hIqBuqGwZL7zkdsVTSJelJOQ
## Select
SELECT * FROM OPENQUERY(LINKED_NAME, 'SELECT * FROM test_tbl');
## Insert
INSERT OPENQUERY(LINKED_NAME, 'SELECT ID, NAME FROM test_tbl ') VALUES (1, 'name');
## Update
UPDATE OPENQUERY(LINKED_NAME, 'SELECT NAME FROM test_tbl WHERE ID = 1') SET NAME = 'value';
## Delete
DELETE FROM OPENQUERY(LINKED_NAME, 'SELECT ID FROM test_tbl WHERE ID = 1');
HSODBC 를 이용방법 참조 (MS-SQL -> ORACLE)
참조 1 : http://dexcore.tistory.com/509
참조 2 : http://opendatabase.tistory.com/entry/SQL-Server-linked-server-%EC%9D%B4%EC%9A%A9-%EC%98%A4%EB%9D%BC%ED%81%B4%EA%B3%BC-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0
SSMS 를 이용항법 참조(MS-SQL ->ORACLE)
참조 : http://www.dsun.kr/36
ORACLE -> MS_SQL LINK
참조 : http://egloos.zum.com/kddolbae/v/8750978
1.MsSQL을 열어 로컬 데이터 베이스 구축하고 계정 생성 후
2.서버개체>연결된 서버>새 연결된 서버> 연결된 서버 명(MANI), 제품이름, 데이터 원본 모두에 오라클의 서비스 네임을 적는다
3.공급자는 Microsoft OLE DB Provider for Oracle을 선택 하고,
4.보안탭에 가서 다음 보안 컨텍스트를 사용하여 연결을 클릭하여 사용자 ID, PW를 적고 완료한다.(원래 오라클 접속정보)
5.새 연결된 서버가 생성 되면 연결 확인 하여 성공여부를 확인 완료!
쿼리
1. 오라클 계정의 테이블 조회
SELECT * FROM openquery(MANI, 'SELECT EMP_NMK FROM TA_EMP_MAS WHERE EMP_NMK = ''김진만'' ') <-작은따옴표가 앞에 두개붙음
OR
SELECT * FROM MANI..DSERP.TA_EMP_MAS WHERE EMP_NMK = '김진만'
2.오라클 계정의 테이블 CRUD
INSERT INTO OPENQUERY(MANI, 'SELECT * FROM MANI2 WHERE 1=0') SELECT MANI, MANI, MANI FROM MANI
OR
INSERT INTO MANI..DSERP.MANI2 SELECT MANI, MANI, MANI FROM MANI
참조 : https://m.blog.naver.com/PostView.nhn?blogId=kjinman83&logNo=100140001128&proxyReferer=http%3A%2F%2Fwww.google.co.kr%2Furl%3Fsa%3Dt%26rct%3Dj%26q%3D%26esrc%3Ds%26source%3Dweb%26cd%3D1%26ved%3D0ahUKEwju7YickPHVAhULWbwKHSX4B6cQFgglMAA%26url%3Dhttp%253A%252F%252Fm.blog.naver.com%252Fkjinman83%252F100140001128%26usg%3DAFQjCNFyd4hIqBuqGwZL7zkdsVTSJelJOQ
## Select
SELECT * FROM OPENQUERY(LINKED_NAME, 'SELECT * FROM test_tbl');
## Insert
INSERT OPENQUERY(LINKED_NAME, 'SELECT ID, NAME FROM test_tbl ') VALUES (1, 'name');
## Update
UPDATE OPENQUERY(LINKED_NAME, 'SELECT NAME FROM test_tbl WHERE ID = 1') SET NAME = 'value';
## Delete
DELETE FROM OPENQUERY(LINKED_NAME, 'SELECT ID FROM test_tbl WHERE ID = 1');
HSODBC 를 이용방법 참조 (MS-SQL -> ORACLE)
참조 1 : http://dexcore.tistory.com/509
참조 2 : http://opendatabase.tistory.com/entry/SQL-Server-linked-server-%EC%9D%B4%EC%9A%A9-%EC%98%A4%EB%9D%BC%ED%81%B4%EA%B3%BC-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0
SSMS 를 이용항법 참조(MS-SQL ->ORACLE)
참조 : http://www.dsun.kr/36
ORACLE -> MS_SQL LINK
참조 : http://egloos.zum.com/kddolbae/v/8750978