Background Image

FORUM

?

단축키

Prev이전 문서

Next다음 문서

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

아래와 같이 처리했는데 업로드가 안됩니다.

업로드/다운로드하는 방법점 갈켜주세요..

pValueBuffer가 데이터 nWriteSize가 크기입니다.
---------------------------------------------------------------------------------------------------------------------------------------------------
영상 업로드

CString strQueryBegin, strQueryEnd;
strQueryBegin.Format("INSERT photo(image) VALUES('");
strQueryEnd.Format("')");

const ULONG nQueryBeginLength  = strQueryBegin.GetLength();
const ULONG nValueLength          = nWriteSize
const ULONG nQueryEndLength    = strQueryEnd.GetLength();
const ULONG nQueryLength          = nQueryBeginLength+nValueLength+nQueryEndLength;

char* pQueryBuffer = new char[nQueryLength+100];

memcpy(pQueryBuffer, strQueryBegin, nQueryBeginLength);
memcpy(pQueryBuffer + nQueryBeginLength, pValueBuffer, nValueLength);
memcpy(pQueryBuffer + (nQueryBeginLength + nValueLength), strQueryEnd, nQueryEndLength);

int nRes = m_dbCubrid.execDML(pQueryBuffer);
---------------------------------------------------------------------------------------------------------------------------------------------------

int execDML(LPCTSTR szSQL)
{
 if( m_conn <= 0 )
 {
  sprintf(m_szBuf, "no open db");
  return -1;
 }

 int req, res;

 // 질의 컴파일을 수행한다.
 if ((req = cci_prepare(m_conn, (char*)szSQL, 0, &m_error)) < 0) {
  // 에러 발생시 에러 코드와 에러메세지등을 출력한다.
  sprintf(m_szBuf, "prepare error[%d] %sn SQL: %sn", m_error.err_code, m_error.err_msg, szSQL);
  // 에러가 발생하였으므로 롤백처리한다
  cci_end_tran(m_conn, CCI_TRAN_ROLLBACK, &m_error);

  return -1;
 }

 // 질의를 수행한다.
 if ((res = cci_execute(req, 0, 0, &m_error)) < 0) {
  sprintf(m_szBuf, "prepare error[%d] %sn SQL: %sn", m_error.err_code, m_error.err_msg, szSQL);
  cci_end_tran(m_conn, CCI_TRAN_ROLLBACK, &m_error);
  return -1;
 }

 // 에러없이 정상 처리되었으므로 커밋 처리한다.
 if (cci_end_tran(m_conn, CCI_TRAN_COMMIT, &m_error) < 0) {
  // 입력중 커밋 에러이므로 알려야 한다.
  sprintf(m_szBuf, "COMMIT ERROR [%d] %sn", m_error.err_code, m_error.err_msg);
  return -1;
 }

 return 0;
}

  • ?
    anonymous 2009.09.25 04:43
    pValueBuffer의 데이터가 binary 라면 string으로 변환하여 SQL로 만들어야 합니다. bit string은 B'0101..' 과 같은 형식으로 이루어져야 합니다. CUBRID  매뉴얼 bit 데이터 타입 부분에 해당 내용이 있습니다.

    데이터의 크기가 크다면 SQL로 변환하여 insert 하는 것은 비효율적입니다. CCI의 bind ( cci_bind() )함수를 사용하시길 권합니다. 


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 55
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4461
1035 컬럼 데이터타입 수정 문의 2 지렸당께 2011.12.05 10537
1034 기본값 설정 문의 3 칸의후계자 2009.09.16 10538
1033 테이블 복구 1 mydream 2010.02.26 10544
1032 날짜사이 데이터 1 ES 2010.11.12 10545
1031 LEFT 함수 문의 1 유니콘 2010.08.12 10547
1030 다름이아니라 PHP 모듈관련 1 ghkdldjfld 2010.04.03 10557
1029 트랜잭션의 상세정보를 확인할수 있는 방법이 있나요? 1 김현성 2011.06.01 10564
1028 커넥션 유지 관련 2 구름마음 2013.07.05 10565
1027 데이터 구조 질문 1 rahmat 2009.03.31 10571
1026 sql문으로 데이터 백업후 import시 "자동증가"컬럼에서 발생되는 문제 2 김현성 2010.09.07 10574
1025 cubrid에서 instead of trigger 기능은 아직 지원 되지 않는건가요? 1 mwpark 2013.07.18 10575
1024 CCI API 에서 LNK 2019문제가 계속 발생합니다 1 poipoi 2014.05.22 10577
1023 회사 서버에 접속을 할려면 설정이 다른가요? 2 후니 2009.07.14 10577
1022 리눅스서버상에 존재하는 CUBRID 데이터베이스를 CUBRID메니져클라이언트로 접속 3 김대진 2010.01.13 10581
» 영상 데이터를 bit varying에 업로드/다운로드 하는 방법점..(cci_api) 1 pictions 2009.09.24 10592
1020 큐브리드 2.2로 업그레이드시 single_byte_compare문제 18 지니보이 2010.06.10 10592
1019 XE 이전에 관해... 15 sugarkane 2010.11.24 10616
1018 MyBatis에서 익명 블럭(Anonymous Block) 사용시 1 손진한 2017.04.03 10620
1017 테이블 구성 방안 문의 2 종이 2012.05.01 10621
1016 테이블 삭제시 오류에 대하여... 2 메이커스 2009.08.01 10623
Board Pagination Prev 1 ... 144 145 146 147 148 149 150 151 152 153 ... 200 Next
/ 200

Contact Cubrid

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