Background Image

FORUM

조회 수 6961 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

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

window 7  32bit,   64bit 동일

ODBC Driver : CUBRID_ODBC-9.3.0-win32-x64

                     CUBRID-Windows-x64-9.3.0.0206.exe

                     CUBRID-Windows-x86-9.3.0.0206.exe

CUBRID TOOL Ver. :   CUBRIDManager-2014-build-0651-windows-i386.exe


응용 환경(API) : 

    엑셀 VBScript 를 통해  ODBC 로 연결  : 



오류 내용 :  ODBC로 접속할 경우  UTF-8로 접속을 해도    char(1) 을 byte 로 인식하고 있은 문제인듯 함


[1] ------ table and data   script ------

CREATE TABLE  aTemp(  a CHAR(1), nm VARCHAR(3)) ; 

INSERT INTO aTemp(a, nm) VALUES( '남', '홍길동'), ('여','신사임당');

COMMIT;


[2] CUBRID manager 를 통해서 조회 할 경우 

SELECT * FROM aTemp;  


남, 홍길동

여, 신사임 

<< 정상 출력었음>>




[3] 그러나 ODBC를 통해 조회할 경우 : 깨져서 나오고 있음. 

SELECT * FROM aTemp

?, 홍?

?, 신? 


----------------  VBScript --------------------

Option Explicit


Public adoconn As ADODB.Connection

Public rs      As ADODB.Recordset


Public Sub odbc_utf8_test()

    Dim constr As String

    Dim n As Long


    ' connection

    constr = "Driver={CUBRID Driver};server=localhost;port=33000;uid=dba;pwd=dba!00;db_name=school;charset=UTF-8;"

    Set adoconn = New ADODB.Connection

    adoconn.connectionString = constr

    adoconn.ConnectionTimeout = 10

    adoconn.Mode = adModeReadWrite

    adoconn.CursorLocation = adUseClient

    adoconn.open


    ' connection ok   then  execute SQL 

    Set rs = adoconn.Execute("select * from aTemp")

    

    If rs.EOF Then

    

    Else

        For n = 1 To rs.RecordCount Step 1


            ActiveSheet.Cells(n, 1) = rs("a")

            ActiveSheet.Cells(n, 2) = rs("nm")

Debug.Print rs("a"), rs("nm")

            rs.MoveNext

        Next

    End If

    

    Set rs = Nothing


    adoconn.Close

    Set adoconn = Nothing

End Sub




[5] DB 성성과  {en_US.UTF-8,  ko_KR.UTF-8}  X   ODBC접속{ko_KR.UTF-8, UTF-8}   로 시도 했으나 동일한 오류 결과를 얻었음. 


DB성생 : ko_KR.UTF-8   , constr 의 charset=UTF-8  : 동일결과

DB성생 : ko_KR.UTF-8   , constr 의 charset=ko_KR.UTF-8  : 동일결과

DB성생 : en_US.UTF-8   , constr 의 charset=UTF-8  : 동일결과






질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력

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

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

  • ?
    정만영 2014.12.23 01:28

    안녕하세요.


    VBScript 사용 문제점은 내부 재현 후 답변 드리겠습니다.


    큐브리드를 이용해 주셔서 감사합니다.


  • ?
    김승훈 2014.12.23 23:48

    안녕하세요. 

    큐브리드를 이용해 주셔서 감사합니다.


    해당 문제는 ODBC 드라이버가 charset을 지원하지 않기 때문에 발생하는 문제로 보입니다.

    드라이버가 charset을 지원하지 않으면 드라이버 매니저에서 변환을 해주게 되는데,

    precision으로 잘라버려서 잘못되는것 같습니다.

    일단은 char(1) 형태가 아닌 varchar(length)로 저장하려는 바이트수만큼 지정해서 사용하시길 부탁드립니다.


    감사합니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4443
1987 odbc접속 에러 확인 요청 1 secret nsp11 2014.11.25 75
1986 쿼리 에러 1 secret 김수민 2014.11.27 11
1985 order by 인덱스 관련 1 viny6 2014.11.29 4466
1984 db다운 문제 1 secret chocob 2014.12.01 8
1983 external Procedure 기능 문의드립니다. 1 secret dwpark 2014.12.03 5
1982 restored db 에러 1 secret 김수민 2014.12.03 8
1981 CUBRID HA 구성시 6 깜장매2 2014.12.05 8175
1980 PreparedStatement 변수 바인딩 1 접때그넘 2014.12.06 7827
1979 하나의 노드에 여러개의 db가 있을때, ha 구성을 안한 db는 사용하지 못하는 문제. 1 깜장매2 2014.12.09 5713
1978 여러개 데이터 한번에 insert 문 수행하는 방법 1 whwpdn 2014.12.10 12326
1977 설치후 오류 메시지 3 moon 2014.12.10 5257
1976 쿼리수행시 Lock 관련 문의 2 nagh 2014.12.11 11164
1975 테이블 복구 문의합니다. 1 찌후맘 2014.12.11 6862
1974 데이터베이스 백업된 파일로 복구하기 1 오명일 2014.12.15 5212
1973 jsp 커넥션 문의합니다. 1 secret 사용자3 2014.12.15 7
1972 ubuntu 큐브리드 설치시 서비스 오류 1 file Hunyho 2014.12.16 5195
1971 서비스 트레이 작동 중지 문제 1 file 조금느린아이 2014.12.16 7155
1970 CUBRID/bin 폴더에 생성 되는 dmp 파일 관련하여 문의드립니다. 3 질의응답요청 2014.12.19 6221
» ODBC 를 통할 경우 텍스트 잘림 2 file OO준 2014.12.22 6961
1968 2008 R4 리눅스에서 완전 삭제 방법 3 알칸펠 2014.12.22 5402
Board Pagination Prev 1 ... 96 97 98 99 100 101 102 103 104 105 ... 200 Next
/ 200

Contact Cubrid

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