My Name is Kay....

DIY , 먹방 , 개발 , 육아 , 여행 좋아합니다.
AdBlock 사용시 화면이 정상적으로 노출되지 않습니다.
포스팅 관련 문의 및 개발 문의는 Email : wkzkfmxksi@gmail.com

추가 포스팅이 이뤄지지 않는 블로그입니다. 문의는 wkzkfmxksi@gmail.com 으로 연락주세요.
kay
조회 수 6909 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

어떤 이유에서 테이블 컬럼 별 COLLATE가 다르게 셋팅되어 WHERE 절에서 에러가 발생합니다.

System.Data.SqlClient.SqlException: equal to 작업에서의 "Korean_Wansung_CI_AS"과(와) "SQL_Latin1_General_CP1_CI_AS" 간의 데이터 정렬 충돌을 해결할 수 없습니다. 

그런 경우 같은 Collation으로 변환하여 처리가 가능합니다.

SELECT A.a , B.b
FROM tblA as A , tblB b 
WHERE A.a  COLLATE Chinese_PRC_CI_AS = B.a  COLLATE Chinese_PRC_CI_AS



테이블 및 디비 Collation을 변경 또는 확인하기 위해서는 아래와 같이 가능합니다.


SELECT * FROM ::fn_helpcollations()   -- 사용 가능한 Collation 확인
GO

SELECT SERVERPROPERTY('collation')  -- 현재 Collation 정보 확인
GO

SELECT name, collation_name FROM sys.columns  -- 컬럼 별 Collation 정보 검색
where Collation_name is not null 
order by Collation_name 
GO

-- 변경 방법 
ALTER TABLE 테이블명
ALTER COLUMN 칼럼명 VARCHAR(50) COLLATE 변경할 Collation
GO



변경 중 에러 아래와 같은 에러 발생시 

서버: 메시지 5074, 수준 16, 상태 8, 줄 1 
개체 'pk_테이블명은'은(는) 열 '칼럼명'에 종속되어 있습니다. 
서버: 메시지 4922, 수준 16, 상태 1, 줄 1 
하나 이상의 개체가 이 열을 액세스하기 때문에 ALTER TABLE ALTER COLUMN '칼럼명'이(가) 실패했습니다.


기본키 제거 -> Collation 변경 -> 기본키 재생성 순으로 하시면 됩니다.


참고 url 

 :  http://www.nextstep.co.kr/93 

 :  http://rocabilly.tistory.com/53

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
8 테이블 자동 증가값 초기화 kay 2013.04.25 2574
7 테이블 정의서 생성 file kay 2013.03.15 17631
6 테이블 존재 확인하기 1 kay 2013.09.09 3139
5 테이블별 사이즈 및 Row 수 체크하기 kay 2013.08.26 25248
4 특정 사용자에게 특정 테이블 , 뷰테이블 등.. 권한주기 file kay 2014.02.12 9941
3 특정 컬럼 , 타입 , 테이블 조건 확인하기 - information_schema .columns kay 2013.05.09 15736
2 프로시저 내용 보기 ( sp_helptext ) kay 2013.05.28 7624
1 프로시져 & 함수 백업 및 정보 확인 ( 생성일 , 수정일 등..) kay 2013.03.08 5020
Board Pagination Prev 1 2 3 Next
/ 3