Форум: "Базы";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];
ВнизМост перекачки данных FoxPro > Oracle с помощью чего организовать Найти похожие ветки
← →
Yuraz (2003-03-20 10:42) [0]Приветствую всех!
Очень нуждаюсь в совете. Есть необходимость регулярно брать данные из базы данных FoxPro (файлы DBF лежат в дирректории) и эти данные переводить в таблицу БД Oracle. Таблицу в таблицу, колонку в колонку, причём с условием по дате и подобного, т.е. записи не все из фокса беру. Некоторые поля необходимо преобразовывать в другой тип, если этого типа нет в Oracle. Возможно, со временем, и обратно. Интересует инструменты, с помощью которых это делается. Писать экзешник не хочется (для этих целей у меня есть Power Builder, который совсем не известен, и есть D7, который для этих целей и хотелось бы юзать), возможно ли организовать по другому, например с помощъю стороней, хорошо написанной проги и т.п.
Видел прогу типа cDbf2Ora.exe, http://delphi.vitpc.com/mastering/poligon/ora_dbf.htm, совсем не подходит. таблицы и поля в базах я знаю, в той и другой. Надо конвертировать только данные, возможно с преобразованием типа в некоторых.
Т.е. каков план действий, открытие файла DBF, с помощью BDE (опять с помощью какой программы?) потом... а потом не знаю...
Заранее спасибо за любые ответы.
← →
Соловьев (2003-03-20 10:49) [1]Открыть DBF с помощью TTable, а Oracle - через свои компоненты и используя код:
with TableDBF do
begin
Open;
First;
while not Eof do
begin
TableOracle.Insert;
TableOracle.FieldByName("FieldOra").AsString{???} := FieldByName("FieldDBF").AsString;
...
TableOracle.Post;
Next;
end;
end;
Медленно но уверенно. Можно попробовать ButchMove... Хотя там приведение типов не знаю как сделать...
← →
Val (2003-03-20 10:54) [2]Не хочется - не пишите. само придет.
Но вообще-то можно было прилепить к своей программке загрузку из дбф, раз постоянно это делаете. Алгоритм примерно таков - создаем временную таблицу в схеме - копию дбф, затем обрабатываем ее данные с помощью хп, пл-блока, стираем таблицу.
Всей работы - всего-ничего, вместо использования доп. чужих средств.
← →
Yuraz (2003-03-20 11:14) [3]Описался, конечно экзешник (надо делать) и сделаю на D5-7, но только не PB, некогда в PowerBuilder разбираться, Delphi знакомей. В приципе, как я понял, решаемо, будем пробовать. Спасибо,
Соловьев © (20.03.03 10:49) и Val © (20.03.03 10:54)!!!
← →
Sergey13 (2003-03-20 11:36) [4]На
http://oraclub.trecom.tomsk.su/
были похожие штуки. Но лучше, ИМХО, самому сделать. Тем паче, что преобразования какие то надо делать. Можно попробовать например так. Сформировать програмкой (своей) типизованый текстовый файл и закачать его потом оракловым лодером. Можно все это автоматизировать и запускать одним батником.
← →
Val (2003-03-20 11:49) [5]>Sergey13 © (20.03.03 11:36)
думаю, вариант со временной таблицей лучше - оперирование данными будет происходить с помощью довольно мощных возможностей PL/SQL. Советую именно данный вариант, опираясь на опыт его использования. Возможность универсальности закачки и обработки - очень хорошая.
← →
Sergey13 (2003-03-21 09:12) [6]2Val © (20.03.03 11:49)
>думаю, вариант со временной таблицей лучше
Ну про "лучше" тут вопрос спорный. Зависит от количества строк в "импорте". Запись то во временную таблицу придется делать в программе построчно, а это могут быть тысячи строк. "Мощь PL/SQL" для "преобразования типов" при этом может оказаться стрельбой из пушки по воробьям.
Хотя и так можно, не спорю, а можно и смесь твоего и моего варианта попробовать - надо смотреть конкретику.
← →
Val (2003-03-21 10:09) [7]>Sergey13 © (21.03.03 09:12)
Про пушку - я говорил о "Мощи PL/SQL" совсем не для "преобразования типов", не нужно передергивать.Я говорил об универсальности такого загрузчика - загрузив данные во временную таблицу можно рассовывать данные как угодно и куда угодно.
← →
Sergey13 (2003-03-21 10:30) [8]Val © (21.03.03 10:09)
Не обижайся. В вопросе было "Таблицу в таблицу, колонку в колонку" и "Некоторые поля необходимо преобразовывать в другой тип". Отсюда и мои слова.
Опять повторюсь - для однозначного совета мало данных в вопросе. Да и вообще "однозначно" только у Жириновского бывает. 8-)
← →
Val (2003-03-21 10:32) [9]>Sergey13 © (21.03.03 10:30)
Я не обижаюсь, а взываю к справедливости :))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c