2010. 7. 27. 08:48
듕국의 DB를 한쿡에서 마이그레이션을 하라고해서 해보니 정렬방식에서 오류가 빵 터지네요.
입력되는, 즉 원본 테이블의 MailDivision 열의 정렬 방식은 Chinese_PRC_CI_AS (=936) 으로 되어 있는데,
저장되는 대상 테이블의 MailDivision 열의 정렬 방식은 Korean_Wansung_CI_AS (=949) 로 되어 있기 때문에
이 차이로 인해 발생하는 문제
라고 http://www.sqlleader.com 에서 찾았답니다.
해서 해결책이 2가지 나와있는데 1번 방안으로 처리했더니 큰 문제없이 처리되었습니다.
2번은 어딘지 모르겠네요. 난 바보..
물론 손이 고생했습니다. OTL
1. 원본 테이블에서 MailDivision을 읽어올 때 열의 정렬 방식을 바꾸는 방법
SELECT ... , MailDivision COLLATE Korean_Wansung_CI_AS AS MailDivision
이와 같이 문자열의 정렬 방식을 바꿔서, 즉 대상 테이블의 것과 같도록 읽어오는 방법
2. 데이터 원본을 선택한 후, 속성 창에서 AlwaysUseDefaultCodePage 속성을 True로 설정한 후,
데이터 원본을 다시 한 번 열었다가 닫습니다.
이 옵션의 역할은 읽어오는 테이블의 데이터 정렬 유형이 어찌되었든 상관 없이 패키지의 Default Code Page로 변환해서 읽어오라는 방식입니다.
참고로, 이러한 정렬 방식은 문자형 열에만 영향
입력되는, 즉 원본 테이블의 MailDivision 열의 정렬 방식은 Chinese_PRC_CI_AS (=936) 으로 되어 있는데,
저장되는 대상 테이블의 MailDivision 열의 정렬 방식은 Korean_Wansung_CI_AS (=949) 로 되어 있기 때문에
이 차이로 인해 발생하는 문제
라고 http://www.sqlleader.com 에서 찾았답니다.
해서 해결책이 2가지 나와있는데 1번 방안으로 처리했더니 큰 문제없이 처리되었습니다.
2번은 어딘지 모르겠네요. 난 바보..
물론 손이 고생했습니다. OTL
1. 원본 테이블에서 MailDivision을 읽어올 때 열의 정렬 방식을 바꾸는 방법
SELECT ... , MailDivision COLLATE Korean_Wansung_CI_AS AS MailDivision
이와 같이 문자열의 정렬 방식을 바꿔서, 즉 대상 테이블의 것과 같도록 읽어오는 방법
2. 데이터 원본을 선택한 후, 속성 창에서 AlwaysUseDefaultCodePage 속성을 True로 설정한 후,
데이터 원본을 다시 한 번 열었다가 닫습니다.
이 옵션의 역할은 읽어오는 테이블의 데이터 정렬 유형이 어찌되었든 상관 없이 패키지의 Default Code Page로 변환해서 읽어오라는 방식입니다.
참고로, 이러한 정렬 방식은 문자형 열에만 영향
'DEV Tool > MSSQL' 카테고리의 다른 글
MSSQL 조회 대상 DELETE (0) | 2010.12.01 |
---|---|
PIVOT 처리 (0) | 2010.09.08 |
제약 조건 풀고 테이블 정리하기 (0) | 2010.07.20 |
TempDB가 몬가요? 먹는건가요 우걱우걱.. (0) | 2010.06.30 |
MSSSQL 2008 ALTER TABLE이 안될때?! (0) | 2010.06.15 |