Background Image

FORUM

조회 수 21336 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

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

아래와 같이 임시 테이블을 생성했습니다.
CREATE TABLE TBL_TEMP
(
    FLD_STRING NCHAR(10)
)
필드는 유니코드를 저장하기 위해 NCHAR 타입으로 생성했습니다.

그리고 아래와 같이 임의의 문자열 10글자를 인서트했습니다.
INSERT INTO TBL_TEMP VALUES(N'abcdefghij');

그리고 C#에서 SELECT 테스트를 하기 위해 코드상에서 "SELECT * FROM TBL_TEMP"로 쿼리했습니다.

이렇게 빌드하면 문자열은 5글자 즉, 'abcde'까지만 반환합니다. 즉, 생성한 필드길이의 절반길이만 반환합니다.
필드 길이를 달리해도 마찬가지구요.

그래서 필드의 데이터 타입을 CHAR로 변경해봤습니다.
그러니 비로소 제대로 반환되네요.

C#이 기본적으로 유니코드이므로 NCHAR 타입으로 생성한건데,
MSSQL에서는 NCHAR형으로 테스트해서 정상작동을 확인했었는데,
큐브리드는 유니코드 문자열도 CHAR형으로 생성해야 하나요? 그럼 NCHAR형의 용도는...

C# 코드를 올려봅니다.

OleDbConnection oledbcon = new OleDbConnection("Provider=CUBRID OLE DB Provider;Location=systronics.iptime.org;Data Source=SysEye;User ID=dba;Cache Authentication=False;Encrypt Password=False;Mask Password=False;Persist Encrypted=False;Persist Security Info=False;Port=33000;Fetch Size=100");

oledbcon.Open();

OleDbCommand command = new OleDbCommand("select * from tbl_temp", oledbcon);
command.CommandType = CommandType.Text;

OleDbDataReader or = command.ExecuteReader();

while (or.Read())
{
    string date = or.GetString(or.GetOrdinal("fld_string"));
}

or.Close();
oledbcon.Close();

  • ?
    남재우 2009.12.21 20:55
    CUBRID 는 현재 언어코드셋을 지원하지 않습니다. 따라서 유니코드를 사용한다고 해서 다른 타입을 쓰실 필요없이, char 나 varchar 를 적절히 쓰시면 됩니다.
    주의하실 점은 substr 이나 length 는 전부 byte 단위로 처리하고 있으므로 이점 유의하셔야 합니다.
    아울러 유니코드 사용시 like 검색을 위하여 cubrid.conf 에 아래 내용을 추가하셔야 합니다.
    single_byte_compare=yes

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 21 admin 2024.04.23 143885
509 엑셀 파일 임포트시 오류 1 file 초보 2010.01.25 26650
508 문서 어떻게 다운받는 건가요? 1 file 이종옥 2010.01.25 13140
507 큐브리드 방금 깔았는데요. 패스워드가 1 이종옥 2010.01.25 15130
506 설치시 cubrid manager server start: fail 오류 3 럭키늘보 2010.01.24 19872
505 데이터베이스 정지후 시작하니 로그파일이 사이즈가 0로 되며 시작이 안되는데? 3 secret 사람들 2010.01.24 18
504 asp 레퍼런스가 있나요? 1 바다왕자님 2010.01.21 14606
503 큐브리드 OLEDB 성능 문제 및 오류 2 file 쭈난 2010.01.18 17359
502 MySQL을 대체 할만한가요...? 2 호비스 2010.01.17 15839
501 엄청난 DB 생성 소요 시간 4 쭈난 2010.01.16 13110
500 패키지 분화가 가능할까요? 1 ienfant 2010.01.15 12723
499 JDBC ResultSet에 대한 문의 2 강우 2010.01.15 25346
498 LOWER 오류가 왜 날까요? 4 초보 2010.01.15 13664
497 mysql의 rand() 함수 대체 문의 1 초보 2010.01.14 18763
496 DBCP사용중 CUBRID** 계열 클래스를 사용하려면? 1 안지민 2010.01.14 13384
495 mssql2005 --> cubrid 로 마이그레이션 오류 답변 부탁 드립니다. 2 Philip Park 2010.01.14 27815
494 set type 에 빈값넣기 1 초보 2010.01.14 14498
493 ODBC 로 insert 가 안되네요 ㅠㅠ... 3 JinSniper 2010.01.13 14572
492 리눅스서버상에 존재하는 CUBRID 데이터베이스를 CUBRID메니져클라이언트로 접속 3 김대진 2010.01.13 13438
491 CSQL 에서 CREATE USER로 계정 생성시 문의 점 1 김대진 2010.01.13 19234
490 Java sp에서 Sybase DB연결시 오류. 2 young 2010.01.12 30101
Board Pagination Prev 1 ... 183 184 185 186 187 188 189 190 191 192 ... 213 Next
/ 213

Contact Cubrid

영업문의 070-4077-2112 / 기술문의 070-4077-2148 / 대표전화 070-4077-2110 / Email. contact_at_cubrid.com
Contact Sales