얼마전 겨우 사이베이스 연결 성공해서 뭣 좀해보려고 꼼지락거리다가 원점으로 다시 돌아왔습니다 ㅠㅠ
질문~~
win2003,
vc++에
ASE_12.5.2_Win_Server 설치되어 있습니다~
이건 사이베이스 홈피에서 받은겁니다~~
1. sybase Server Config에서 charater set 추가는 어떻게 할수 있나요?
현재 제가 test 용으로 쓰고있는 charater set은
Character Set = 1, iso_1
ISO 8859-1 (Latin-1) - Western European 8-bit character set.
Sort Order = 50, bin_iso_1
Binary ordering, for the ISO 8859/1 or Latin-1 character set (
iso_1).
입니다.
그런데 이 상태에서 프로그램 돌려 insert시키면 한글이 들어간 데이터는 insert 에러납니다.
이런식으로.. (SQLSTATE:01004, INFO:[MERANT][ODBC Sybase ASE driver]String data translation caused data truncation.)
근데 쿼리문 긁어다가 직접 insert 시키면 insert는 되지만 한글은 ??? 로 나옵니다.
문제는 실제 서버의 charater set은
Character Set = 1, iso_1
ISO 8859-1 (Latin-1) - Western European 8-bit character set.
Sort Order = 50, bin_iso_1
Binary sort order for the ISO 8859/1 character set (iso_1).
이렇습니다.
제 test용과 다른건 sort order 뿐인데
밑에 어느 분 답변보니깐
----------------------------------------------------------------------------
[시작/프로그램/Sybase/Server Config/Configure Adaptive Server.../인스턴스명/sa계정 및 비번/Language]에서 설정을 합니다.
1. Language - Add/Remove클릭 후 korean으로 설정 후 Set Default 클릭
2. Character Set - Add/Remove클릭 후 Extended Unix Code for KSC-5601 --> eucksc더군요.
PC (MS) Korean ------------------> cp949
Unicode 3.1 UTF-8 Character Set --> uft8
설정 후 Set Default 클릭
3. Sort Order - Set Default클릭 후 확인
------------------------------------------------------------------------------
전 이런 게 안나오거든요..
Language Options 에서 Change Options에
language는 english밖에 없구..
Extended Unix Code for KSC-5601 이런것도 없습니다 ㅠㅠ
Language와 Character set의 add/Remove를 눌러서 character set을 어떻게 추가시킬수 있나요?
한글은 어떤 설정을 해야 재대로 들어갈까요 ㅠㅠ
================================================================================================
추가질문 ~~11:26 18:30
현재 이것저것 만지다가
select @@client_csname = null
이렇게 만들었습니다-0-;
이유는 서버와 클라이언트 같은 iso_1 로 맞춰도 안되서요ㅠ
null로 만든 대신
접속할때
Driver={Sybase ASE ODBC Driver};NA=%s;DB=%s;UID=%s;PWD=%s;CHARSET=iso_1
요렇게 추가했습니다.
이렇게 할경우 서버와 같은 iso_1 로 설정되어 넘어가는게 맞나요?
ㅠㅠ
|