본문 바로가기
MS-SQL

[MS-SQL] MSSQL->ORACLE DATA INSERT UPDATE DELETE

by 김뽀씨 2015. 11. 11.

  MSSQL -> ORACLE 간 데이터 전송시

OPENQUERY를 사용할 떄 !!!

SET XACT_ABORT ON;     // SQL SERVER에 들어가야되는 부분

*요약*

INSERT OPENQUERY (링크서버, 구문);

UPDATE OPENQUERY(링크서버, 구문);

DELETE OPENQUERY(링크서버, 구문);

 

/**************************************************************************************

  /* 오라클 DATA 전송 */
  SET @TSQL = '';

  SET @TSQL ='UPDATE OPENQUERY([TEST], ''SELECT TY_DELI FROM TB_DELIVERY WHERE CD_ORDERNO =''''' + @CD_ORDERNO_O + ''''''')' + ' SET TY_DELI = ''00'''

  EXEC(@TSQL)

***************************************************************************************/

추가 내용 : 만약 해당 개체에 대해 사용 권한이 없습니다. 라는 메세지가 출력시

 SELECT  @TSQL = 'SELECT * FROM OPENQUERY([TEST],EXEC(''UPDATE TB_DELIVERY SET TY_DELI = ''05''
                     WHERE  DS_DRIVER = ''''' + @DS_DRIVER_N + '''''''))'

 

위처럼 사용하면 됨.

원인과 왜 저렇게 바뀌어야되는지는 모름 ㅋㅋㅋㅋ