피연산자 유형 충돌: varbinary은(는) text과(와) 호환되지 않습니다.

2018. 1. 9. 15:51IT개발/Database

반응형

MSSQL 오류 트러블 슈팅...

....

피연산자 유형 충돌: varbinary은(는) text과(와) 호환되지 않습니다....

....

으악! 이건 대체 뭐란말이가... 으... 바쁜 나의 개발길에 꽃길은 커녕 구덩이에 빠지게 만들다니.. 아우~~~~


 오류 코드

 해결 코드

 public class Company {

    private String companyLogo;  // MSSQL 에서 해당컬럼은 text 타입

}

 public class Company {

    private String companyLogo  = ""; // 컬럼이 text or ntext 타입경우, 빈문자열로 초기화 필요

}


원인을 좀 찾아보니 아래의 의견이 있었다. 

null이 binary 형태의 값으로 변환되어 text 컬럼에 바인딩하려고하니 오류가 발생된 것으로 보였다...

(분명 컬럼에 NULL 허용 설정했는데도 오류 난다;;;;)


일단 오류로 판단해보면, null이나 ''로 입력을 해도 해당 값이 binary로 바뀌어서 들어오는 것으로 보입니다.

혹시 application에서 실행할 때 오류가 발생한다면,

Profiler를 사용해서, null로 입력한 경우에 binary 값으로 변환되어서 실행되는 것이 아닌지 쿼리를 확인해 보는 것이 좋을 것 같습니다. 


출처 : https://social.technet.microsoft.com/Forums/ko-KR/9a9838d0-6b56-4b8e-a174-c05493742920/ms-sql-data-varbinary-text-?forum=sqlserverko


아~나의 귀중한 시간을 삽질하게 한 MSSQL, 오라클이나 기타 DB쓸땐 이런오류가 없었는데...쩝쩝  MSSQL 로 개발시 유의하자!


반응형