Главная страница
    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.156 c
1-30343
Стражник
2003-03-31 15:08
2003.04.10
Как вставить по вызову одну форму в другую??


8-30481
Bananos
2003-01-07 00:26
2003.04.10
HEX


14-30567
Nick-From
2003-03-24 12:01
2003.04.10
Нужен пример работы с MMX


7-30627
AGGRESSOR
2003-02-04 15:08
2003.04.10
Объем видеопамяти


3-30306
yurikon03
2003-03-23 16:57
2003.04.10
Надо рубли отделить от копеек по-русски!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский