Background Image

FORUM

조회 수 18158 추천 수 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 도구 출시 안내 admin 2024.04.23 72
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4466
1359 cubrid admin 질문 드립니다. 3 file 초코초코초 2023.03.06 119
1358 cubrid addvoldb 문의 2 yscoma 2016.08.31 13266
1357 cubrid addvoldb 명령어 사용 3 깽즈야 2012.08.08 7981
1356 cubrid acl reload 에러 1 hiDev 2022.04.29 63
1355 cubrid REGEXP 한글 동작 문의 1 언제나 2017.06.01 3775
1354 cubrid JDBC Driver의 클래스 내용이 궁금합니다. 7 엔디미온 2022.02.08 223
1353 cubrid Exception 문의 1 GAGA_YOON 2011.03.16 8917
1352 cubrid 9.3.1 설치해서 원격으로 접속하고자 설치했는데 에러가 뜹니다 3 file Xstar 2023.10.27 98
1351 cubrid 9.3 dba 암호 분실 2 secret 태리 2016.09.30 398
1350 cubrid 8.4.3 loaddb 또는 대량데이터 일괄 Insert 방법 1 김상윤 2013.03.22 11019
1349 cubrid 7.3 -> 2008 r3.1 업그레이드 방법 1 스카이 2011.05.19 9513
1348 cubrid 6.6.0 제공 문의 1 secret 이종욱 2010.01.25 7
1347 cubrid 2008 windows버전에서의 CUBRID_Service_Tray 실행오류 2 마비토 2009.02.12 14156
1346 cubrid 2008 r4.3.1008.jar 란 파일이 있나요? 1 rex 2013.11.29 9743
1345 cubrid 2008 r3.0 을 쓰고 있는데요 data table 생성시 대문자로 표시 하는 법 1 Bluecat 2010.12.29 7239
1344 cubrid 2008 R 2.1에서 2.2 버전으로 업그레이드 문의 2 file 종이 2010.06.04 10498
1343 cubrid 10.1 데이터 덮어쓰기 질문입니다. 4 ysk96 2024.04.18 73
1342 cubird.conf 설정 중 문의드립니다. 1 라면 2016.06.03 9053
1341 cubird-php 연동이 안됩니다. (php-4.4.9) 1 sihal7 2011.06.09 13732
1340 cubird manager server 실행 실패 1 yundg 2014.04.07 9002
Board Pagination Prev 1 ... 128 129 130 131 132 133 134 135 136 137 ... 200 Next
/ 200

Contact Cubrid

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