Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.10;
Скачать: CL | DM;

Вниз

Мост перекачки данных 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
3-30260
esa
2003-03-21 12:50
2003.04.10
шифрование пароля


1-30339
Aleksandr
2003-03-31 12:46
2003.04.10
Несовпадения про конвертации FileDateToDateTime и назад.


14-30522
RDA
2003-03-23 21:37
2003.04.10
Для жителей Украины работающих с казначейством


14-30575
TTT
2003-03-24 12:06
2003.04.10
Выстраивается очередь.... Кто за нами?


1-30348
Che
2003-03-31 19:54
2003.04.10
Выбор фаила