Ага, уже проясняется. Конечно тут вроде напрашиваются гетерогенные запросы, но я в них не силен, особенно с подключением к ораклу, а потому пойдем нешустрым, но надежным путем.

(Непосредственно для передачи данных нам грид не потребуется. Разве что посмотреть, что собственно копируется.)
Значит имеем 2 подключения к разным базам. Пишем такой код:
Код:
SQLQuery1.SQL.Text := 'insert into OracleTable (Fld1,Fld2,Fld3,Fld4,Fld5) Values(:Val1, :Val2, :Val3, :Val4, :Val5)';
while not AdoQuery1.Eof
do begin
SQLQuery1.Params.ParamValues['Val1'] := AdoQuery1.FieldValues['Fld1'];
SQLQuery1.Params.ParamValues['Val2'] := AdoQuery1.FieldValues['Fld2'];
SQLQuery1.Params.ParamValues['Val3'] := AdoQuery1.FieldValues['Fld3'];
SQLQuery1.Params.ParamValues['Val4'] := AdoQuery1.FieldValues['Fld4'];
SQLQuery1.Params.ParamValues['Val5'] := AdoQuery1.FieldValues['Fld5'];
SQLQuery1.ExecSQL;
AdoQuery1.Next;
end;
Подставьте вместо OracleTable имя таблицы куда грузим, и вместо FldN имена полей в таблицах оракла и экселя.
Вроде должно работать.