DB

[MSSQL] Collation 데이터 정렬 충돌 오류 ("Korean_Wansung_CI_AS"과(와) "Korean_Wansung_CI_AI" 간의 데이터 정렬 충돌을 해결할 수 없습니다.)

수키 💻 2019. 1. 9. 10:11
반응형

[MSSQL] Collation 데이터 정렬 충돌 오류 ("Korean_Wansung_CI_AS"과(와) "Korean_Wansung_CI_AI" 간의 데이터 정렬 충돌을 해결할 수 없습니다.)

 

 

where 절에 두개의 데이터베이스 데이터를 비교할 때 아래와 같은 오류가 났다.

 

 

 

 

 

nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: equal to 작업에서의 "Korean_Wansung_CI_AS"과(와) "Korean_Wansung_CI_AI" 간의 데이터 정렬 충돌을 해결할 수 없습니다.

at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:97)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)

at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:792)

at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:850)

at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:858)

 

 

 

 

검색해보니 두 데이터베이스에 있는 테이블의 데이터를 비교할 때 데이터 정렬이 안맞아서 생기는 오류인가보다.

 

한쪽으로 데이터 정렬을 맞춰주면 된다.

 

나같은 경우는 서브쿼리써서 데이터를 비교할때 에러가 났는데,

SELECT*

FROM DB1.테이블

WHERE 컬럼명 COLLATE Korean_Wansung_CI_AS = (SELECT 컬럼명 FROM DB2.테이블 WHERE ~~)

이나 

SELECT *

FROM DB1.테이블

WHERE 컬럼명 COLLATE Korean_Wansung_CI_AI = (SELECT 컬럼명 FROM DB2.테이블 WHERE ~~)

 

이런식으로 COLLATE ~~ 를 넣어주면 충돌을 해결할 수 있다.

 

 

 

 

 

 

반응형