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

Вниз

Конвертация из текстовой базы в Access mdb?   Найти похожие ветки 

 
gedd   (2004-01-24 07:41) [0]

Нужно переносить порядка 300000 записей из текстовой базы в mdb ежедневно. По одной записи слишком долго. Подскажите наиболее быстрый способ сделать это.


 
Jsuk   (2004-01-24 10:20) [1]

1)Удали все индексы и ключи (PK,FK)
2)Заливай
3)Восстанови все индексы и ключи (PK,FK)
Будет на порядок быстрее


 
gedd   (2004-01-24 10:21) [2]

Какои индексы, база - текстовый файл вопрос в том каким способом заливать и быстро заливать


 
sniknik   (2004-01-24 10:31) [3]

вообще есть возможность подключить текст как тавлицу, и заливать запросом (быстро), но эта возможность зависит от формата текста.

индексы имелись ввиду видимо в Access таблице, т.к. любой индекс замедляет добавление записей. (но ускоряет выборки)


 
Anatoly Podgoretsky   (2004-01-24 13:47) [4]

Разовая работа, на время обращать внимание не стоит.


 
Digitman   (2004-01-24 14:00) [5]


> gedd


ты когда-нибудь выполнял меню Access "Импорт" или "связь с внешними таблицами" ? Это быстро, по твоему, работает ? Так вот то же самое (т.е. вызов соответствующих внутренних алгоритмов Access) легко выполняется и программным способом, если использовать Access как сервер автоматизации


 
gedd   (2004-01-25 09:44) [6]

Это делается так?
AccessApplication1.LoadFromText(param1,param2,"aa.txt");
А что за параметры param1,param2?


 
gedd   (2004-01-26 07:35) [7]

Люди а кто нибудь загружал текстовые файлы в access?


 
sniknik   (2004-01-26 07:56) [8]

конечно. думаю очень и очень многие.


 
gedd   (2004-01-26 09:11) [9]

Так подскажите как? Лучше кодом.


 
Layner   (2004-01-26 09:25) [10]

парсишь, заносишь в цикле каждую запись в БД SQL командой INSERT... Команда INSERT выполнится т.е. 300000 раз.


 
sniknik   (2004-01-26 10:39) [11]

код (раз на доп. вопросы не отвечаеш значит сам разберешся)
SELECT * INTO DBF_STR FROM DBF_STR#TXT IN "D:\DB" "Text;"


 
gedd   (2004-01-26 11:57) [12]

>SELECT * INTO DBF_STR FROM DBF_STR#TXT IN "D:\DB" "Text;"
То есть стандартный ADO может взять данные из текстового файла?
и может быть так
INSERT * INTO DBF_STR
SELECT * FROM DBF_STR#TXT IN "D:\DB" "Text;"


 
alex-xx   (2004-01-26 13:16) [13]

Добавлять 300000 записей ежедневно? (Если ничего не удалять, ежедневно :))) - я бы задумался о выборе другой БД)

Если данные каждый день однотипные, то конечно проще один раз написать конвертер и больше не париться.
(Я делал так: открывал текстовуху как файл, читал построчно, определял разделители полей, проверял данные в полях, формировал запрос на вставку и инсертил в таблицу Access:)))



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

Форум: "Базы";
Текущий архив: 2004.02.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.029 c
3-53388
Smalik
2004-01-27 11:40
2004.02.17
Как программно очистить таблицу в Access e


3-53376
AlexandrPolyakov
2004-01-26 09:36
2004.02.17
DataSet и динамический массив данных


3-53374
Lisa
2004-01-27 18:16
2004.02.17
отлавливание ошибки при выполнении запроса


7-53801
НВ
2003-11-26 14:25
2004.02.17
Как работасть с принтером?


14-53737
}|{yk
2004-01-28 14:36
2004.02.17
Дайджесты на CD





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