如何从Delphi 7(ADO组件)将Blob数据插入到Oracle XE中

最佳答案

使用TAdoQuery组件检查这些样本。

直接从文件加载数据

 ADOQuery1.Parameters.AddParameter.Name:='Param1';
 ADOQuery1.Parameters.ParamByName('Param1').LoadFromFile('yourfilename',ftBlob);
 ADOQuery1.SQL.Add('INSERT INTO TableName (FieldName) VALUES (:Param1)');
 ADoQuery1.ExecSQL;


使用Stream加载数据

 ADOQuery1.Parameters.AddParameter.Name:='Param1';
 ADOQuery1.Parameters.ParamByName('Param1').LoadFromStream(AStream,ftBlob);
 ADOQuery1.SQL.Add('INSERT INTO TableName (FieldName) VALUES (:Param1)');
 ADoQuery1.ExecSQL;


您必须知道哪些Microsoft Oracle oledb driverblob fields不兼容,请尝试使用Oracle OLEDB provider

作为最终建议,请尝试使用其他组件(例如dbexpress,ANYDACODAC组件)连接到ORACLE。

10-08 01:16