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로 변환해서 읽어오라는 방식입니다.


참고로, 이러한 정렬 방식은 문자형 열에만 영향

'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
Posted by NGUN