|
ㅠㅠ 오라클에 이미지가 저장이 안되서 몇일째 머리에 쥐나고 있슴돠....
다른 데이터들은 모두 잘 저장이 되는데 유독 이미지만....ㅡㅡ;
고수님들 보시고 아시는 분들 도움 부탁드리겠습니다.
먼저 환경을 말씀드리자면,
툴은 C++Bilder5 을 사용하고 있습니다.
오라클은 10g, 8i, 9i 모두 사용해보았습니다. (10g에서는 저장이 되고 8i, 9i에서는 저장이 안됩니다.)
이미지를 저장할 테이블에는 img라른 컬럼이 있으며,
컬럼의 데이터 타입은 Blob, Long Raw 두가지를 사용해보았습니다.
코드는 다음과 같습니다.
.TADOConnection 타입의 커넥터로 오라클에 접속을 하였습니다.
//---------------------------------------------------------------------------
TADOQuery* tADOQuery = new TADOQuery(this);
AnsiString query; // 쿼리문을 위한 변수
TMemoryStream *ms; // 이미지를 저장할 메모리스크림 변수
tADOQuery->Active = false;
tADOQuery->Prepared = false;
if (mPicture == NULL) // TJPEGImage* mPicture
return;
ms = new TMemoryStream;
mPicture->SaveToStream(ms);
query = "INSERT INTO imagetable VALUES (:image_param)";
ADOQuery->SQL->Clear();
ADOQuery->SQL->Text = query;
ms->Position = 0;
ADOQuery->Parameters->ParamByName("image_param")->LoadFromStream(ms, ftGraphic);
delete ms;
try
{
tADOQuery->ExecSQL();
}
catch (Exception &e)
{
}
//---------------------------------------------------------------------------
이런상황에서 프로그램을 실행해보면 다음과 같은 메세지가 뜹니다.
Project Project1.exe raised exception class EOleException with message "ORA-01036: 잘못된 변수명/번호'. Process stopped. Use Step or Run to continue.
고수님들~~~~
제발 아시는분이 계셔야 될텐데.....
|