Background Image

FORUM

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

    네 답변 감사합니다.


    수고하세요..^^


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4281
1416 내림차순 조회 문의 4 knight 2013.03.18 6305
1415 콜렉션 타입 데이터 수정 방법에 대해서 질문이요.... 1 어린왕자 2013.03.16 6276
1414 에러현상 1 file 스아 2013.03.14 5947
1413 데이터베이스 비밀번호 잊어버림... 6 종이 2013.03.14 10692
1412 성능에 관해서 질문드립니다. 5 secret 오니오니 2013.03.12 12
1411 DBCP 트랜잭션 문의 1 조영준 2013.03.12 6387
1410 Invalid call: it can not return ResultSet. 오류 분의 2 knight 2013.03.12 9848
» Oledb 문자열 값 가져오기 실패 문의입니다. 4 콩이아부지 2013.03.11 11087
1408 동작 중 디스크 볼륨을 마운트하지 못해 데이터베이스 오류가 발생되는 현상 2 secret freemir 2013.03.11 158
1407 sql 파일 실행 방법 1 댄디 2013.03.08 13024
1406 oledb bigint형 필드 접근 문제 2 콩이아부지 2013.03.07 7487
1405 if exists 조건 처리문? 2 콩이아부지 2013.03.06 63604
1404 비쥬얼 스튜디오 2005에서 MFC로 프로그램을 개발 했을 때의 DB 연결 2 틈새 2013.03.06 9980
1403 Windows 버전 이중화 문의 드립니다. 2 배나와사마 2013.03.05 8454
1402 백업 된 파일 버전 확인하기 3 sw엔지니어 2013.03.05 10063
1401 CUBRID 2008 R4.3과 PHP 연동 문제 5 sinorix 2013.03.05 24668
1400 버전 업데이트 후 다른 인덱스 타는 문제 1 종이 2013.03.05 5618
1399 컴퓨터 부팅 시 Unable to register the CUBRID Service Tray.Retry? 메세지 문의 1 file conomia 2013.03.04 10286
1398 우분투 12.04에 cubridmanager 실행하면 에러 메시지 2 모기아부지 2013.02.28 7363
1397 tomcat connection pool 설정방법 문의 드립니다. 2 김상윤 2013.02.28 16896
Board Pagination Prev 1 ... 124 125 126 127 128 129 130 131 132 133 ... 199 Next
/ 199

Contact Cubrid

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