Background Image

FORUM

조회 수 21355 추천 수 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

  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

  2. ODBC 연결 방법

  3. cent OS 5.4v 에 큐브리드 설치후 서비스 시작 문제..

  4. 이진 데이터를 Stored Procedure에 넘기는 방법

  5. BLOB 데이터 select 질문

  6. Java SP 질문

  7. 이중 루프문 안에 쿼리문 실행시 바깥루프 안도는 문제

  8. AUTO_INCREMENT 컬럼 이용시

  9. java stored procedure 실행시 에러

  10. c#과 cubrid2008 연동후 문자열 select 질문.

  11. R1.4->R2.0(64비트)베타 업그레이드 및 마이그레이션후 DB접속불가.

  12. Client만 설시치 oledb provider가 설치되지 않습니다.

  13. 오라클과의 성능에 대한 비교를 알고 싶습니다.

  14. 오라클과의 호환성과 대용량 검색 속도

  15. 조인 관련 질문입니다.

  16. cubrid_prepare()로 데이타 입력시 질문입니다.

  17. row level lock 이 지원되나요?

  18. 한글이 깨지네요

  19. restordb를 사용후 다른 문구가...

  20. Unloaddb의 문제점

  21. mysql로 마이그레이션하는방법좀..

Board Pagination Prev 1 ... 185 186 187 188 189 190 191 192 193 194 ... 213 Next
/ 213

Contact Cubrid

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