database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 35479 게시물 읽기
No. 35479
Oracle to Mssql DBlink mssql에 한글등록
작성자
길범수(pumba3)
작성일
2009-03-31 18:26ⓒ
2009-03-31 18:28ⓜ
조회수
5,287

도움을 많이 받았는데 저도 도움을 드리려고 올립니다 ^^

Oracle 에서 Mssql을 odbc로 연결하여 DBlink를 활용 데이터 등록시

 한글이 등록되지 않는 오류가 있다.

이때 Oracle에서 바이너리 값으로 변환후 => Mssql에서 형변환 하여 테이블에 한글 등록이 가능 하다.

(참 쉽죠잉~)

ex) 아래는 프로시저 예제..

CREATE OR REPLACE PROCEDURE PROC
(
 ARG_NO IN VARCHAR2,
 ARG_MSG IN VARCHAR2
)

AS PRAGMA AUTONOMOUS_TRANSACTION;

 GETROW NUMBER;
 LS_QUERY VARCHAR2(1000);

BEGIN
 LS_QUERY := ' Insert into ms_table  (id , no , msg ) '||
 ' Values '||
 ' (''id'','''||ARG_NO||''',CAST(0x'||UTL_RAW.CAST_TO_RAW(ARG_MSG)||' as varchar) ); ';
 GETROW := DBMS_HS_PASSTHROUGH.EXECUTE_IMMEDIATE@MSSQLLINK(LS_QUERY);

 COMMIT;

EXCEPTION
 WHEN OTHERS THEN
  DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;

설명 1. : UTL_RAW.CAST_TO_RAW('한글메세지') 은 한글메세지를 바이너리 값으로 변환하여 자료를 작성한다.

          자세한 내용은  http://kr.forums.oracle.com/forums/thread.jspa?threadID=471882&tstart=201 참조 바람.

 

설명 2. : CAST(0x'||UTL_RAW.CAST_TO_RAW(ARG_MSG)||' as varchar) 이부분은 MSsql입력시 바이너리를 varchar로 cast해서 등록해야 하므로

           예제처럼 작성한다. 작성시 0x 앞에 붙여야 정확한 형변환이 일어나니 반드시 붙여 주길바란다.

          MSsql 형변환 내용은 http://technet.microsoft.com/ko-kr/library/ms187928.aspx 참조 바람.

DBlink 추가 내용은 http://blog.naver.com/pumba3?Redirect=Log&logNo=10044261562 참조 하세요

성공하세요~ 아자~

[Top]
No.
제목
작성자
작성일
조회
35482롤업 함수 질문 입니다. [1]
홍기
2009-04-01
3401
35481빈구간 구하기 [6]
김흥수
2009-03-31
4983
35480오라클 백업/복구 관련한 질문입니다 [1]
서연석
2009-03-31
3616
35479Oracle to Mssql DBlink mssql에 한글등록
길범수
2009-03-31
5287
35478특정 수량을 제한 나머지 Record를 구하고 싶은데 .... [2]
김도형
2009-03-31
3088
35477AIX 5.2 에 oracle client 설치 문의 [1]
zzang
2009-03-31
4787
35476계속 proc-26 OCR 에러 뜨거든요, 왜 그러죠? [1]
마이클초단
2009-03-31
3437
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다