Background Image

FORUM

2009.12.23 02:13

BLOB 데이터 select 질문

조회 수 12311 추천 수 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. No Image notice by admin 2024/04/23 by admin
    Views 136 

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

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

  3. TIME 포맷 관련 질문 입니다.

  4. 데이터베이스 하드차지하는 용량이 계속 늘어요

  5. 큐브리드 재시작 후 처음 조회시 조회가 오래걸립니다.

  6. csql 로 demodb 접속 시 오류 입니다~!

  7. is null 조건 쿼리가 더 오래 걸리는 이유가 무엇인가요?

  8. 큐브리드 매니저 Xe설치후 게시판관리하려면

  9. 오류코드 출력문의

  10. 큐브리드와 powerDNS 연동

  11. 윈도우 -> 리눅스 큐브리드 원격접속 문제

  12. 디비생성에러

  13. Cubrid FUNCTION 한글 깨짐 문제

  14. JSP에서 데이터베이스 연결 어떻게 해요?

  15. 컴파일 할 때 오류 cannot find -lcurses

  16. 최신 HP-Unix에 큐브리드 커널설정하기

  17. cannot create poolableconnectionfactory cannot connect to a broker 문의 드립니다.

  18. 큐브리드 방금 깔았는데요. 패스워드가

  19. windows xp 에서 큐브리드 설치시 오류

  20. mysql 쿼리 변환 질문 입니다.

  21. [초보질문] 텍스트파일을 하나의 TABLE로 입력하고 싶습니다.

  22. Cubrid Manager에서 데이터 가져오기 와 내보내기

Board Pagination Prev 1 ... 159 160 161 162 163 164 165 166 167 168 ... 201 Next
/ 201

Contact Cubrid

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