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 49 

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

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

  3. set type 에 빈값넣기

  4. ODBC 로 insert 가 안되네요 ㅠㅠ...

  5. 리눅스서버상에 존재하는 CUBRID 데이터베이스를 CUBRID메니져클라이언트로 접속

  6. CSQL 에서 CREATE USER로 계정 생성시 문의 점

  7. Java sp에서 Sybase DB연결시 오류.

  8. CUBRID 시작후 csql로 시작할 때 에러가 발생합니다.

  9. php, cubrid에서 그림, 동영상파일업로드코딩중인데요.

  10. C-API 매뉴얼 위치요?

  11. 큐브리드 2008 버전이 다운로드 않됩니다.

  12. set 객체 정보까지 어떻게 검색합니까?

  13. 큐브리드를 사용해 윈도환경에서 사용할 프로그램을 개발코자 합니다

  14. 쿼리 확인 부탁 드립니다.

  15. 날짜 기본값 처리 방법 문의 드립니다.

  16. 쿼리의 물음표에 대해 문의드립니다.

  17. cubrid 설치전 php설치에서

  18. CUBRID 2008 R2.0에서 R2.1로 업그레이드 시

  19. 형변환 오류 문의

  20. 큐브리드 메니저 데이터베이스검사시 에러문구

  21. 데이터베이스 오류문제

  22. 큐브리드는 mysql 의 varchar(255) 와 동일한 길이가 아니네요?

Board Pagination Prev 1 ... 171 172 173 174 175 176 177 178 179 180 ... 200 Next
/ 200

Contact Cubrid

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