I created a table like this
CREATE TABLE DACHS_MSG (ID INT NOT NULL, DATETIME DATE NOT NULL, CLIENTID VARCHAR2(50) NOT NULL, MSG BLOB NOT NULL);
and try to insert using an TOraQuery and TOraParams in this way:
Code: Select all
TOraSession* OraSession = new TOraSession( this->Owner);
OraSession->Server = "...";
OraSession->Username = "...";
OraSession->Password = "...";
OraSession->Options->OptimizerMode = omAllRows;
OraSession->Open();
TOraQuery* DBOraQuery = new TOraQuery( NULL);
DBOraQuery->Connection = OraSession;
DBOraQuery->FetchAll = true;
DBOraQuery->ParamCheck = true;
DBOraQuery->Params->Clear();
DBOraQuery->SQL->Clear();
DBOraQuery->SQL->Add( "INSERT INTO DACHS_MSG (ID, DateTime, ClientID, Msg) (SELECT DACHSMSGID_SEQ.NEXTVAL, sysdate, :ClientID, :Msg FROM DUAL)");
TOraParam* MsgParam = DBOraQuery->Params->ParamByName( "Msg");
MsgParam->ParamType = ptInput;
MsgParam->DataType = ftBlob;
MsgParam->LoadFromStream( MessageStream, ftBlob); // MessageStream is a TMemoryStream*
TOraParam* ClientParam = DBOraQuery->Params->ParamByName( "ClientID");
ClientParam->ParamType = ptInput;
ClientParam->DataType = ftString;
ClientParam->AsString = "Test";
DBOraQuery->Prepare();
DBOraQuery->Execute();
How can I insert a big Stream into this field?
Thank you