well, there you have the problem, so there's no single code that allows full input for both datatypes.AlexP wrote:Hello,
You should set the OraQuery1.Options.TemporaryLobUpdate property to true, the TOraQuery parameters for BLOB should be DataType = OraBlob and ParamType = ptInput, and for LONG RAW they should be DataType = Blob and ParamType = ptInput.
Is there a way to detect the parameter datatype (eg after Prepare, like with InterBase)?
AlexP wrote: The sql statment:
INSERT INTO TEST_BLOB
(ID, TST_LONG_ROW, TST_BLOB)
VALUES
(:ID, :TST_LONG_ROW, :TST_BLOB)
To insert data use the following code:
OraQuery1.ParamByName('ID').AsInteger:= 1;
OraQuery1.ParamByName('TST_LONG_ROW').LoadFromStream(stream,ftBlob);
OraQuery1.ParamByName('TST_BLOB').LoadFromStream(stream, ftOraBlob);
OraQuery1.Execute;
It this case all data (BLOB and LONG RAW) will be inserted correctly.