Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Конвертирование из DB в DBF


Автор: shaft666 3.1.2006, 17:29
Ребят подскажите пожалуйста как можно переконвертировать таблицу из *.DB из *.DBF???

Автор: kulikoff 3.1.2006, 22:13
Страдал точно таки, только мне надо было из dbf в Oracle'скую таблицу перекинуть значения. Пишешь просто запрос (я подключался через BDE):
Код

procedure TForm1.sBitBtn2Click(Sender: TObject); 
var i,a: integer; 
    k: string; 
begin 
if sOpenDialog1.Execute 
then k:='select ZKPO, S from "' + sOpenDialog1.FileName +'"' 
else exit; 
  Query1.Close; 
  Query1.SQL.Clear; 
  Query1.SQL.Text:=k; 
  {Query1.SQL.Text:='select ZKPO, S from "BANK2410.dbf"';} 
  Query1.Prepare; 
  Query1.Open; 
  Query2.SQL.Clear; 
  Query2.SQL.Text:='insert into ":ren4ora:BANKVUP" (ZKPO, S) values (:param1, :param2)'; 
  sGauge1.MinValue:=0; 
  sGauge1.MaxValue:=Query1.RecordCount; 
  a:=sGauge1.MaxValue; 
  
  for i:=1 to a do 
    begin 
      Application.ProcessMessages; 
      sLabelFX2.Caption := 'експортовано '+ IntToStr(i) + ' записів з ' +IntToStr(a); 
      Query2.ParamByName('param1').AsFloat:=Query1.FieldByName('ZKPO').AsFloat; 
      Query2.ParamByName('param2').AsFloat:=Query1.FieldByName('S').AsFloat; 
      Query2.Prepare; 
      Query2.ExecSQL; 
      Query1.Next; 
      sGauge1.Progress:=i+1; 
    end; 

  sGauge1.Progress:=0; 
  MessageDlg('Всі дані експортовано у базу даних!', mtInformation, mbOKCancel,0); 

end;

Тут, конечно, немного раздуто, но красиво и передо мной стояла задача выводить ProgressBar (но я немного отошел от него) и надпись, сколько записей из скольки уже переброшено (зачем это надо - понятия не имею). Потому пришлось два запроса делать и т.д. Но код абсолютно рабочий, в принципе, всё равно, что из чего перекидывать, создаешь два подключения, два набора данных и работаешь с ними. Если что не ясно - спрашивай, я сам дуплился с этим, пока всё понял smile

Автор: SergeBS 11.1.2006, 10:26
shaft666
Ставишь ErWin и конвертируешь. Т.е. исходный сервер - Paradox, целевой - DBF. Кстати 4 версия и Oracle знает прекрасно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)