Oracle中的表字段用Blob类型,急问!谢谢

解决方案 »

  1.   

    SQL server 里也有啊
    binary
      

  2.   

    仮定: 
    1)SQLServer <-> ADOConnection1 <-> ADOQuery1 
    ADOQuery1.SQL.Text := 'SELECT * FROM SQLServer_Table WHERE 条件';2)Oracle <-> ADOConnection2 <-> ADOQuery2
    ADOQuery2.SQL.Text := 'INSERT INTO Oracle_Table (photo_id, photo) VALUES (:photo_id, :photo)'; 从ADOQuery1一個一個取出記録後、挿入ADOQuery2、
    TempStream := TMemoryStream.Create;
    try
      TBlobField(ADOQuery1.FieldByName('photo')).SaveToStream(TempStream); //TField -> TStream
      {...}
      TempStream.Position := 0;
      ADOQuery2.Parameters.ParamByName('photo').LoadFromStream(TempStream,ftBlob);  //TStream -> TField
      ADOQuery2.ExecSQL;
    finally
      TempStream.Free;
    end;(注:写的只是一個大体、需要NI自己完善)