Background Image

FORUM

조회 수 11088 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

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

Oledb 사용 중 문제 되는 부분이 있어 문의 드립니다.


태이블의 자료형이 'STRING' 타입으로 선언된 필드의 값을 얻고자 할 경우 문제가 발생 합니다.


또 'VARCHAR' 타입으로 선언된 필드의 길이를 256 이상으로 설정 시 동일한 문제가 발생 합니다.


어떻게 해야 할까요?




  • ?
    이용미 2013.03.12 22:48

    안녕하세요.

    String으로 지정된 변수에 varchar, string 형식의 결과값을 넣어 가져올 때 정상적으로 수행되는 것을 확인해였습니다.

     

    테스트를 수행한 소스와 테이블은 다음과 같습니다.

    ** String

    - 테이블 : create table tmp2(col1 int, col2 string);

    - 소스 : cmd.CommandText = "select col2 from tmp2 where col1 = 1";

              String res = (String)cmd.ExecuteScalar();

    ** varchar

    - 테이블 : create table tmp3(col1 int, col2 varchar(300));

    - 소스 : cmd.CommandText = "select col2 from tmp3 where col1 = 2";

              String res = (String)cmd.ExecuteScalar();

     

    아래 bigint 질문과 같이 발생한 오류를 첨부해주세요.

  • ?
    콩이아부지 2013.03.13 23:13
    답변 감사드립니다.

    제 테스트 환경 및 오류 내용입니다.
    참고로 MSSQL에서는 정상 동작 합니다.

    테스트 환경:
    OS : XP SP3 (32bit), WIN7 (32bit)
    CUBRID : 2008 R4.1
    개발툴 : Viusal Studio 2008 (C++)
    msado15.dll(xp) : 2.81.3012.0
    msado15.dll(win7) : 6.1.7600.17036

    테이블 생성
    Create table test_table (bigTest BIGINT, strtext STRING, intTest INT)
    데이터 입력
    insert into test_table values (1, 'text', 1)

    szQuery : 'select intTest from test_table' << == 문제 없음
    szQuery : 'select bigTest, strtext from test_table' << == 호출 시 문제 발생.

    pConnection->CursorLocation = adUseClient;
    pRecordset = pConnection->Execute((_bstr_t)szQuery, NULL, adOptionUnspecified); << 호출 시 문제 오류 발생

    오류 내용
    =======================================================================================
    HEAP[test.exe]: Invalid address specified to RtlFreeHeap( 00280000, 0012C410 )
    Windows가 test.exe에서 중단점을 트리거했습니다.
    힙이 손상되어 test.exe 또는 여기서 로드한 DLL에 버그가 있을 수도 있습니다.
    test.exe에 포커스가 있을 때 사용자가 F12 키를 눌렀기 때문일 수도 있습니다.
  • ?
    CUBRID_DEV 2013.03.14 01:36

    pConnection->CursorLocation = adUseClient;

    이 라인에서 문제가 됩니다. 실제로 execute를 하지도 못한 것 같네요.

    cubrid oledb의 버그로 보이며, 디폴트인  (adUseServer)로 동작하도록 해당 라인을 제거하시고 실행하시면 될 것 같습니다.

     

    덕분에 버그 발견하였습니다 ㅠㅠ 감사합니다. ( http://jira.cubrid.org/browse/APIS-490 )  

     

  • ?
    콩이아부지 2013.03.14 02:25

    네 답변 감사합니다.


    수고하세요..^^


  1. No Image notice by admin 2024/04/23 by admin
    Views 54 

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

  2. SQLGate for CUBRID 영구 무료 라이선스 제공

  3. 접속자의 아이피나 맥어드레스를 알아낼수 있는지요

  4. 초보 질문드립니다^^:(인스턴스 갱신)

  5. 맥에서 cubrid query browser 실행이 안됩니다.

  6. cubridmanager 실행시 오류 입니다.

  7. 원하는 테이블에 데이터를 추가 하고싶으면 어떻게 하나요?

  8. 매니저 오류 문의

  9. 오류의 의미??

  10. 임시테이블에 대한 지원 계획은 있는지 궁금합니다

  11. 뷰 테이블 편집 cascade 오류

  12. Cubrid 2008 R 1.3 설치중 에러메시지

  13. 라이센스 관련 문의 입니다.

  14. cubrid 8.4.3 loaddb 또는 대량데이터 일괄 Insert 방법

  15. 트랙잭션이 시스템에 의해 중단됩니다.

  16. 대용량 mysql 데이타를 큐브리드 2008 로 마이그레이션 할때

  17. cubrid 설치 후 서버 기동 문제

  18. JBoss 7.1.1 와 Cubird 9.3.6 버젼 연동 문의

  19. 파티션 테이블에 대해서..

  20. The size of data received from server is different from the expected

  21. 큐브리드 매니저에서 서브쿼리 날리면 값이 안나오는 문제

  22. Oracle --> Cubrid 쿼리 변경 질문입니다!

Board Pagination Prev 1 ... 149 150 151 152 153 154 155 156 157 158 ... 200 Next
/ 200

Contact Cubrid

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