C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[9184] Re:오라클 DB와 빌더의 연동
임선규 [starlim] 1342 읽음    2001-07-20 12:57
안녕하세요..
그림이 오라클에 저장되어 있는거지요?
오라클에 LongRaw로 데이타 타입을 잡아주시는건 맞습니다.
그런데 빌더의 그림저장 데이터타입이라는게 멀 말씀하시는 건지요? (잘 이해가 안가서...)
그리구 저장하실땐 LoadFromFile을 쓰셨겠네요..
저두 자세히는 모르지만 제가 쓴 방법을 적어드릴께요..
도움이 되셨으면 합니다.
/* 오라클 디비에 그림 저장 */
// 참고로 전 그림화일의 화일명을 가지고 그림을 저장시킵니다.
// 또한 제가 쓰는 그림 화일은 jpg형식만 가능하구여..

Query->Params->Items[7]->LoadFromFile(Edit->Text.c_str(), ftGraphic);
//            그림저장필드          화일명이 있는 에디트박스

이렇게 하면 그림이 디비에 들어갑니다.

/* 오라클 디비에서 그림 읽어오기 */
// 저는 그림을 읽어서 TImage 콤포넌트를 이용해서 보여줍니다.

TBlobStream *bs;
TJPEGImage *Jpg;
bs = new TBlobStream((TBlobField *)(Query->FieldByName("CMap")), bmRead);
Jpg = new TJPEGImage;
Jpg->LoadFromStream(bs);
Image->Picture->Graphic = Jpg;
delete Jpg;
delete bs;

/* 만약에 그림화일이 gif라면 TGIFImage를 이용하시면 되구여.
   일반 bmp화일일 경우에는 그냥 DBImage를 이용하시면 보이기는 합니다만 기본적으로 Blob size가
   32K밖에는 안되기때문에 아마 그림이 잘려서 보이실꺼예요.. (대부분의 bmp는 size가 커서..)
   default blob size를 늘리시던지 아니면 jpg나 gif를 이용하시는게 더 나으실것 같네요..*/

도움이 되셨길 바랍니다.
그럼..





Sunwine 님이 쓰신 글 :
: 오라클이 A라는 컴에 있고
: 빌더의 데이터베이스 관련 프로그램이 B컴에 있습니다.
:
: B컴에서 그림DB를 사용해야 되기 때문에
: 오라클 DB 테이블의 한 필드에 그림을 저장하도록
: LongRaw 데이터 타입으로 만들어서 빌더에서 네트웍으로
: 연동하려고 했습니다. 근데 빌더에서
: Invalid data type이라는 메시지가 나오네요
: LongRaw데이터 타입을 빌더 BDE가 인식못하는거 같아
: BLOB데이터 타입으로도 테이블을 만들어 연동하니 같은 결과가 나오네요
:
: 오라클의 그림저장 데이터타입과 빌더의 그림저장 데이터타입이
: 서로 호환이 안되나요?
: 일반적인 데이터들은 잘 읽혀지거든요
: 혹 알고있으신분 가르쳐 주십시요
:
: 참고로
: 제가 쓰는 오라클 DB는 8.0이고 빌더는 5.0
:

+ -

관련 글 리스트
9182 오라클 DB와 빌더의 연동 Sunwine 947 2001/07/20
9184     Re:오라클 DB와 빌더의 연동 임선규 1342 2001/07/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.