Background Image

FORUM

2009.12.23 02:13

BLOB 데이터 select 질문

조회 수 16123 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

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

아래의 테이블의 데이터를 select 하고자 합니다.
create table tbl_test
(
    fld_sn integer primary key,
    fld_data bit varying(2048)     // 최대 256바이트 저장
)

c++과 연동하여 위 테이블에서 데이터를 select 하기 위해 아래와 같이 소스를 작성했습니다.
MS_SQL과 연동했을 때 사용했던 소스입니다.
궁금한건 화살표로 표시된 부분에서 BLOB 데이터를 획득하려 하는데 문자열로 반환해버리더군요.
MS-SQL에서는 vBlob.vt 값이 VT_ARRAY | VT_UI1으로 리턴되는데, 큐브리드는 VT_BSTR로 반환하네요.
데이터를 핸들링하는 부분을 다른 방법을 써야 할까요?

거듭되는 질문폭탄 죄송합니다ㅜㅜ 초짜인지라...

void BLOBSelect_SQLServer(_ConnectionPtr pConnection) throw(...)
{
 _CommandPtr command = NULL;
 _RecordsetPtr pRecordset = NULL;

 TESTHR(command.CreateInstance(__uuidof(Command)));

 command->ActiveConnection = pConnection;
 command->CommandText = _bstr_t("select * from tbl_test");
 command->CommandType = adCmdText;

 pRecordset = command->Execute(NULL, NULL, adCmdText);

 while(!(pRecordset->adoEOF))
 {
  int sn =  pRecordset->Fields->Item["FLD_SN"]->Value;
  _variant_t vBlob = pRecordset->Fields->Item["FLD_DATA"]->Value;  // <---- 이곳이 MS-SQL과 차이가 나는 부분입니다.

  BYTE* pData;
  BYTE data[256] = {0,};

  if(vBlob.vt == (VT_ARRAY | VT_UI1))
  {
   SafeArrayAccessData(vBlob.parray, (void**)&pData);
   bloblength = vBlob.parray->rgsabound[0].cElements;

   memcpy(data, pData, bloblength);
   SafeArrayUnaccessData(vBlob.parray);
  }

  pRecordset->MoveNext();
 }

 if(pRecordset)
  pRecordset->Close();
}

  • ?
    시난 2009.12.25 02:13
    현재 해당 부분에 대해 개선 예정입니다.
    추후 릴리즈에 포함될 때 연락드리도록 하겠습니다.

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

    Date2024.04.23 Byadmin Views144004
    read more
  2. ODBC 연결 방법

    Date2009.12.24 By포세이돈 Views15092
    Read More
  3. cent OS 5.4v 에 큐브리드 설치후 서비스 시작 문제..

    Date2009.12.24 By춘식 Views17035
    Read More
  4. 이진 데이터를 Stored Procedure에 넘기는 방법

    Date2009.12.23 Byhyperhand Views17169
    Read More
  5. BLOB 데이터 select 질문

    Date2009.12.23 Byhyperhand Views16123
    Read More
  6. Java SP 질문

    Date2009.12.23 Byhyperhand Views14126
    Read More
  7. 이중 루프문 안에 쿼리문 실행시 바깥루프 안도는 문제

    Date2009.12.22 By지니보이 Views18326
    Read More
  8. AUTO_INCREMENT 컬럼 이용시

    Date2009.12.22 Byhyperhand Views20750
    Read More
  9. java stored procedure 실행시 에러

    Date2009.12.22 Byhyperhand Views26330
    Read More
  10. c#과 cubrid2008 연동후 문자열 select 질문.

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

    Date2009.12.21 Byxclass Views15022
    Read More
  12. Client만 설시치 oledb provider가 설치되지 않습니다.

    Date2009.12.19 Byhyperhand Views16505
    Read More
  13. 오라클과의 성능에 대한 비교를 알고 싶습니다.

    Date2009.12.16 By오004 Views11
    Read More
  14. 오라클과의 호환성과 대용량 검색 속도

    Date2009.12.16 By오004 Views29138
    Read More
  15. 조인 관련 질문입니다.

    Date2009.12.16 By지니보이 Views13001
    Read More
  16. cubrid_prepare()로 데이타 입력시 질문입니다.

    Date2009.12.16 By지니보이 Views12910
    Read More
  17. row level lock 이 지원되나요?

    Date2009.12.16 By초보대왕 Views16158
    Read More
  18. 한글이 깨지네요

    Date2009.12.16 By썬해바라기 Views13599
    Read More
  19. restordb를 사용후 다른 문구가...

    Date2009.12.15 By썬해바라기 Views12621
    Read More
  20. Unloaddb의 문제점

    Date2009.12.14 By앵벌이 Views12711
    Read More
  21. mysql로 마이그레이션하는방법좀..

    Date2009.12.14 By썬해바라기 Views14015
    Read More
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