2 / 2 / 0
Регистрация: 03.06.2018
Сообщений: 140
|
|
1 | |
RAD XE4+ Импорт данных из файла в БД21.12.2023, 12:20. Показов 2386. Ответов 7
Здравствуйте!
Подскажите люди добрые, есть ли в Builder возможность импорта данных в таблицу из файла, например CSV? Если есть в каком компоненте искать, тупо гуглу ничего не понятно потому как по билдеру молчок, а в Басике вроде есть через командный интерфейс самой базы? И сразу вопрос про целесообразность, насколько быстрее будет импорт из файла в сравнении с записью данных в цикле через INSERT INTO?
0
|
21.12.2023, 12:20 | |
Ответы с готовыми решениями:
7
Импорт данных из файла .csv в mysql сразу же после загрузки файла на сервер Импорт данных из excel файла в базу данных PostgreSQL Импорт данных из типизированного файла Импорт данных из txt файла Импорт данных из csv-файла |
Модератор
|
|
21.12.2023, 16:31 | 2 |
Basic - родной для Access-а язык, Билдер, Дельфи и т.д. работают с ним через посредников (ODBC-драйвера)... Ну вот и прикиньте, есть или нет... Если хотите - можете через OLE поизвращаться, как с любым другим приложением MS Office, но это, однозначно, будет медленнее, чем выполнять запросы в цикле... А в FireDAC, ежели мне склероз не изменяет, вообще можно кучу инсертов одним запросом выполнить...
0
|
2 / 2 / 0
Регистрация: 03.06.2018
Сообщений: 140
|
|
21.12.2023, 16:41 [ТС] | 3 |
Да, возможно (не могу сказать за Access? но примеры есть). Однако как мне показалось придется слишком много поменять, что-то не очень понятна технология подключения в ДАКе, компонентов жуть как много, есть где-нибудь описание толковое для чайников?
0
|
19 / 15 / 5
Регистрация: 21.10.2022
Сообщений: 167
|
||||||
21.12.2023, 18:55 | 5 | |||||
Из екселя можно так импортировать, думаю из CSV тоже должно получится.
0
|
2 / 2 / 0
Регистрация: 03.06.2018
Сообщений: 140
|
|
12.02.2024, 19:42 [ТС] | 6 |
Таки в ADOTable есть такая штука ->LoadFromFile(...)
вот только не очень понятно в каком формате там хранятся данные? Добавлено через 17 минут Да уж, от знания не стало легче, хранятся они как recordset и чтобы это значило? Кто видел как выглядит этот recordset? ежели я правильно понимаю это типизированная запись например int int int float int string[30] - обычная бинарная запись?
0
|
Модератор
|
|
13.02.2024, 07:06 | 7 |
Не совсем. Это старинная приблуда для создания "Базы данных без СУБД" с помощью компонента T...DataSet. Я как в свое время не понял, на кой ляд она нужна была, так и сейчас не понимаю...
Ну а наличие метода LoadFromFile() у компонента ADOTable объясняется тем, что он является наследником класса TCustomDataSet, так же, как и этот самый TADODataSet
0
|
2 / 2 / 0
Регистрация: 03.06.2018
Сообщений: 140
|
|||||||||||||||||||||
19.02.2024, 17:50 [ТС] | 8 | ||||||||||||||||||||
Таак, дела пошли в гору!
Вопрос со скоростью решился положительно, где-то в 10 - 20 раз в зависимости от состояния базы... Использовал режим Batch и я отказался от проверки соответствия данных на точность и новизну (т.е. чтения свойств данных из БД и сравнения с новыми) с учетом сортировки исходных данных по новизне. Для 500 тыс. запросов в таблицу с 9 полями (5 ключевых) объем оперативки запрошенный программой не превышал 32 мб. А загрузка занимала около 3 минут для любого состояния базы. Теперь возникла другая ситуация - у меня появились дублирующие записи с разной точностью. Подскажите как организовать запрос на удаление худшего значения? В принципе как я понимаю нужно найти сочетание ключевых полей (К1, К2, К3, К4, К5) для которых более 1 значения и удалить значение с меньшей точностью. Чувствую, что это не сложно, типа:
Добавлено через 3 часа 10 минут Хм, какой-то аншлаг, но попробуем:
Замечтательно! вот такой запрос на выборку дает правильный результат:
0
|
19.02.2024, 17:50 | |
19.02.2024, 17:50 | |
Помогаю со студенческими работами здесь
8
Импорт данных из xml-файла Импорт данных в 1с из файла xlsx Импорт данных из XML файла Импорт данных из файла Excel(c++) Импорт данных в 1с из файла xlsx Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |