Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.09.19;
Скачать: [xml.tar.bz2];

Вниз

Converter DBF to MDB   Найти похожие ветки 

 
Cannon   (2010-06-23 09:51) [0]

Появилась необходимость написать утилиту в Delphi которая будет конвертировать DBF файлы в MDB (Eccess). Подскажите, что лучше для этой цели использовать, какие компоненты для доступа к DBF и MDB ? Спасибо.


 
Сергей М. ©   (2010-06-23 09:52) [1]

ADO


 
Cannon   (2010-06-23 10:00) [2]

Создал таблицу в Access одинаковую по структуре с DBF файлов. Пробежался по DBF (While not Table.EOF) и начал сажать в таблицу Access, все записи, процесс происходит очень долго, в DBF в среднем по 500 тыс. записей. (Использовал ADO) А если открыть тот же DBF в MS Access и экспортнуть, все это происходит в считанные секунды.


 
Dennis I. Komarov ©   (2010-06-23 10:07) [3]


> Пробежался по DBF (While not Table.EOF) и...

Страсти то какие. Еще варианты будут?


 
Сергей М. ©   (2010-06-23 10:09) [4]

> если открыть тот же DBF в MS Access и экспортнуть, все это происходит в считанные секунды

Access использует Jet напрямую либо через DAO (не путать с ADO).
А что ты используешь - это известно только тебе)


 
Сергей М. ©   (2010-06-23 10:10) [5]

Ну и см.[3] - SQL-запросы на то существуют)


 
Cannon   (2010-06-23 10:16) [6]

Сейчас делаю так:

While not DBFTable.Eof do
     begin
       AccessTable.Insert;
       for f:= 0 to DBFTable.FieldCount - 1 do
       begin
         AccessTable.FieldByName(DBFTable.Fields[f].FieldName).Value := DBFTable.FieldByName(DBFTable.Fields[f].FieldName).Value;
       end;

       DBFTable.Next;
       ProgressBar1.Position := i;
       Label1.Caption := IntToStr(i);
       Refresh;
       inc(i);
     end;


А как использовать SQL, т.е открыть обе таблицы DBF и Access с помощью ADO затем использовать скрипт Insert into в ADOQuery ?


 
Сергей М. ©   (2010-06-23 10:24) [7]


> открыть обе таблицы DBF и Access


Не надо их открывать.

Используй TADOQuery с SQL-предложением INSERT INTO AccessTable SELECT * FROM DBFTable


 
Anatoly Podgoretsky ©   (2010-06-23 10:24) [8]

> Cannon  (23.06.2010 10:00:02)  [2]

Вот это и надо делать, но мы не ищем легких путей.


 
Плохиш ©   (2010-06-23 10:29) [9]


>        ProgressBar1.Position := i;
>        Label1.Caption := IntToStr(i);
>        Refresh;
>        inc(i);
>

Совершенно не интересная ветка.


 
Cannon   (2010-06-23 10:33) [10]


> Совершенно не интересная ветка.


Ну извините, забыл вырезать.


> Используй TADOQuery с SQL-предложением INSERT INTO AccessTable
> SELECT * FROM DBFTable
>


А коннект к какой из баз нужно установить ?


 
Плохиш ©   (2010-06-23 10:34) [11]

Советую нанять программиста.


 
Cannon   (2010-06-23 10:37) [12]

не надо программиста) все понял, спасибо.

ЗЫ:  Ветка для начинающих


 
Правильный$Вася   (2010-06-23 10:59) [13]

DataPump уже отменили?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.09.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
15-1277105792
12
2010-06-21 11:36
2010.09.19
Идея такая. Пусть пользователь сам себе рисует форму..


15-1277320579
TStas
2010-06-23 23:16
2010.09.19
Можно ли выходить в интернет с двух компов?


11-1223369174
L`Autour
2008-10-07 12:46
2010.09.19
Проблема с Menu.InsertItem


15-1277470736
12
2010-06-25 16:58
2010.09.19
Киньтесь ссылкой на архив иконок


15-1276989298
брюква
2010-06-20 03:14
2010.09.19
asm вставка ByteToBin и BinToByte





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