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 122 

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

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

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

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

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

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

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

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

  9. CUBRID 공간데이터 타입 기대해도 되나요?

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

  11. 데이트타입 컬럼의 주를 구하는 함수는?

  12. cubrid_prepare 오류 질문드립니다

  13. Oledb 문자열 값 가져오기 실패 문의입니다.

  14. 윈도우 큐브리드 메니저로 리눅스 접속

  15. 아카이브 로그 자동 삭제 및 볼륨 자동 생성 문의

  16. linux demodb구동시 에러

  17. CUBRID 매니저 서버 연결 오류

  18. 온라인 메뉴얼이 firefox에서 동작이 안되네요.

  19. 브로커 타임아웃 설정 가능여부 문의

  20. ODBC를 사용해서 디비작업이 안되요

  21. CUBRID DB 32bit에서 64bit 변경 방법

  22. serial 또는 auto increment 현재값 수정

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

Contact Cubrid

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