Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
7-30613
dumb
2003-02-13 22:17
2003.04.10
Проблема с Stdout


1-30449
OlBan
2003-03-31 09:17
2003.04.10
Как программно выбрать другое окно приложения?


3-30296
DenKop
2003-03-19 22:47
2003.04.10
BLOB и SQL


8-30475
Макс1
2003-01-03 15:01
2003.04.10
Распознование изображений


14-30556
bkv
2003-03-24 16:18
2003.04.10
Снижение спроса на Delphi -разработчиков!!!!!!!!!!!!!!!!!!!!!!!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский