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
    현재 해당 부분에 대해 개선 예정입니다.
    추후 릴리즈에 포함될 때 연락드리도록 하겠습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 42
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
1013 SpingFrameWork에서 Mybatis 사용시 Merge문 사용과 관련된 에러 문의드립니다. 1 file 고대장 2021.10.13 791
1012 Spatial Extensions 지원하나요? 2 온니발란스 2010.02.09 14299
1011 SYS_TIME 출력 시 문의사항 1 오렌지 2021.07.01 147
1010 SYSTEM PARAMETERS 확인방법이 있나요? 1 봉보로봉봉 2017.07.29 453
1009 SUBQUERY 튜닝 관련 문의 6 secret yscoma 2017.03.30 20
1008 SSL 혹은 SSH와 같이 암호화 커넥션을 지원하나요? 1 아장아장 2010.09.03 12990
1007 SQL질문 1 마이나스 2010.11.05 7143
1006 SQL작성시 버벅거림 문의드립니다. 1 file 용이닷 2015.09.09 5816
1005 SQL문에 대해 질문 드립니다.. 5 ohgeumjin 2020.05.29 116
1004 SQL문 문의 2 아라천 2015.12.16 5155
1003 SQLGate에서 서버오류 발생합니다 1 file 두듀두듀듀 2022.10.09 104
1002 SQLGate 데이터 내보내기 오류 1 써늬니 2022.10.25 167
1001 SQLGate for CUBRID (CUBRID v9.3 and later) 폐쇄망 사용법? 1 임소식 2024.01.18 78
1000 SQLGate Developer 업데이트 후 오류 1 문태환 2021.11.15 169
999 SQL 행, 10분이상 지연 시 해제 및 설정 방법 문의 드립니다 2 kdman 2023.12.06 108
998 SQL 쿼리 속도문제 1 칭칭이 2013.10.17 10314
997 SQL 질문 1 삼월토끼 2014.05.12 6957
996 SQL 인라인뷰 응답속도 개선 문의 6 knight 2013.12.07 13270
995 SQL 에러 질문 1 카르마 2010.10.16 9958
Board Pagination Prev 1 ... 145 146 147 148 149 150 151 152 153 154 ... 200 Next
/ 200

Contact Cubrid

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