ODBC Unicode 버전에서 SQLBindParameter 사용시 임의문자 추가현상

by separk posted Jan 10, 2017

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[9.3.6.0002
CUBRID TOOL Ver.
Manager : 9.3.1.703 / ODBC : 10.0.0.1
응용 환경(API)
ODBC

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

ODBC Unicode 버전 사용시

SQLBindParameter를 통해서, Insert Into 구문으로

STRING 타입의 컬럼에, 여러 Row의 값을 입력하려하면,

문자열 끝에 임의의 문자가 붙어 입력됩니다.


Public.athlete의 name 값에 대하여 설명한다면,

해당 값에 대해 Insert Into 한 결과

code : 10997) Fernandez Isabel => Fernandez Isabelz

code : 10996) Fernandez Gigi => Fernandez Gigie

code : 10991) Feklistova Maria => Feklistova Mariav


위와 같이 동일한 특정 문자열이 입력되고 있으며,

임의 테이블을 제거후 다시 Insert 하도록 하여도 꼭 동일한 문자열이 

등록되고 있었습니다.


허나 Unicode 버전 대신 ODBC Ansi 버전 사용시에는 동일한 값임에도 불구하고 정상적인 값으로 입력되고 있습니다.

동일한 소스를 사용하여 Unicode / Ansi 버전에 따라 다른 값이 입력되고 있어

해당 부분에 대한 확인 작업이 필요합니다.




Articles