![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBF to Oracle [D7, dBase, FoxPro]
Sesh © (2007-03-14 10:12:00)Добрый день.
Есть такая програмка как Data Pump с помощью которой замечательно перегонять данные с dbf в oracle, но командную строку она не потдерживает, хочу написать нечто свое, но не знаю по какому принципу она работает.
Написал програмку которая перекидывает данные - но долго работает, т.к. берет по 1 записи, а как сделать чтоб брало типа
insert into oratable select * from "d:\1.dbf" или как через одбс это сделать, если есть какие-нибудь ссылки где почитать, примеры, буду очень признателен.
Зараннее спасибо.
Sergey13 (2007-03-15 09:45:00) [1]> [18] Sesh (15.03.07 09:40)
Мы конечно шутили, но в каждой шутке есть доля шутки. Твоего кода никто не видел. Что там у тебя неизвестно. А время работы программы наводит на размышления о подобных вероятностях.
Sesh (2007-03-15 09:40:00) [2]Ну конечно, еще и коннекты открываю после каждой вставки. :)
evvcom (2007-03-15 09:12:00) [3]> [16] Sergey13 © (15.03.07 09:05)
Жесть! :-)
Sergey13 (2007-03-15 09:05:00) [4]> [15] evvcom © (15.03.07 08:55)
А еще есть вероятность, что все кладется в датасет, который переоткрывается после каждой вставки. 8-)
evvcom (2007-03-15 08:55:00) [5]> [14] Sergey13 © (15.03.07 08:38)
Еще есть вероятность, что автор не использует параметры.
Sergey13 (2007-03-15 08:38:00) [6]> [12] Sesh (14.03.07 18:40)
Есть вкроятность, что при построчном инсерте ты делаешь построчный коммит. Если так, то можно поэкспериментировать с интервалом коммита (если все за одну транзакцию не влезает, которую также можно подрулить явным указанием большого ролбек-сегмента).
ANB (2007-03-14 18:52:00) [7]
> Sesh (14.03.07 18:40) [12]
Ну, если на таблице срубаны индексы и триггера за пару минут и постройный инсерт залить должен. Что в принципе BatchMove и делает.
А вот час для такого количества - слишком много.
Sesh (2007-03-14 18:40:00) [8]450 000
ANB (2007-03-14 17:19:00) [9]
> Разобрался, есть в Delphi такой компонент как BatchMove,
> вот написал программулину, при построчной загрузке работала
> целый час, а теперь за 2 мин все перекидывает, спасибо за
> помощь.
Скока записей в DBF ?
ЗЫ. Сомнительно, что BatchMove реализует какой то другой способ запихивания данных в ораклу, чем построчный инсерт . . .
Sesh (2007-03-14 17:12:00) [10]Разобрался, есть в Delphi такой компонент как BatchMove, вот написал программулину, при построчной загрузке работала целый час, а теперь за 2 мин все перекидывает, спасибо за помощь.
roottim (2007-03-14 11:57:00) [11]
> Можете показать как у вас все настроено?
Что у вас конкретно не получается по факу ?
Val (2007-03-14 11:19:00) [12]>[4] Sesh (14.03.07 10:56)
>могут поменять структуру .. поэтому надо через одбс...
Честно говоря, не вижу связи.
Скажу откровенно - я сторонник loader'a, потому как довольно много контролируется "руками", что в деле перегрузки данных обычно большой плюс.
Sesh (2007-03-14 11:14:00) [13]Можете показать как у вас все настроено?
roottim (2007-03-14 11:11:00) [14]у меня линк на дбф работают.. тока от версии к версии оракле бывают некоторые заморочки с типами полей (типа нумберы некоторые не читаются)
но мне немного и надо было.. ежемесячно подкачивать некую инфу
на примере excel есть фак на скл.ру
http://www.sql.ru/faq/faq_topic.aspx?fid=163
Sergey13 (2007-03-14 11:09:00) [15]> [4] Sesh (14.03.07 10:56)
Поищи/поспрашивай еще вот тут
http://www.sql.ru/forum/actualtopics.aspx?bid=3
Sesh (2007-03-14 10:56:00) [16]большая отчетность, каждый день выписки, могут поменять структуру и данные вольются левые, поэтому надо через одбс.
Sergey13 (2007-03-14 10:42:00) [17]> но как?
Не подскажу. Сам не пробовал.
А что за нужда такая часто и много грузить да еще с изменяемыми структурами?
Sesh (2007-03-14 10:39:00) [18]на счет лоадера - так и делаю, но структура поменяется, надо будет и контрол файл переделывать, а это есть не хорошо, а вот через одбс как-то можно, но как?
Sergey13 (2007-03-14 10:30:00) [19]> [0] Sesh (14.03.07 10:12)
Никогда этим не занимался, но вроде через одбс в оракле можно прилинковать dbf-ку.
Кроме того можно все скинуть в текстовик и закачать оракловым Loader-ом.