25 / 24 / 7
Регистрация: 22.08.2017
Сообщений: 130

Импорт таблицы из csv в БД Access

16.04.2018, 13:22. Показов 2913. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет
Нужне собсна сабж

Структура csv заранее неизвестна, надо импортнуть csv в виде таблицы в Access, и там её уже разбирать

Нашёл вот такой код для DBF-а

Pascal
1
2
3
4
5
6
Query.SQL.Clear;
 Query.SQL.Add('select * into 1_DATA from (select name,tname,fname,' +
 'age,street,home,flat,doc_seria,doc_numb,doc_date,doc_from' +
 ' from [' + FileName + '] in "' +
 FilePath + '" [dBase IV;])');
 Query.ExecSQL;
Не могу понять, что мне лепить вот на это место '" [dBase IV;])');
Как я понимаю - это какая-то строка коннекта ODBC/BDE? Что тут должно быть, чтобы импортнуть csv ( и не только csv)...
Могут быть исходные для импорта как в просто txt, так и xls и mdb... Просто хочу понять принцип, по которому это делается...

Раньше так извращаться не приходилось, не сталкивался с таким - а вот пришлось...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.04.2018, 13:22
Ответы с готовыми решениями:

Импорт из таблицы БД Access в xml
Здравствуйте! Подскажите пожалуйста в каком порядке и с помощью каких компонентов можно Экспортировать данные из определённой таблицы...

Импорт в StringGrid таблицы из Access
Помогите пожалуйста, как добавить в StringGrid таблицу из Access? А потом еще нужно организовать поиск по ключевому полю а этой таблице ...

Импорт нескольких csv-файлов в Access
Всем привет! помогите, пж, экспортировать несколько файлов формата csv в таблицу access или запрос. Есть несколько файлов. У каждого...

9
5989 / 4564 / 1096
Регистрация: 29.08.2013
Сообщений: 28,207
Записей в блоге: 3
16.04.2018, 13:25
Цитата Сообщение от AsTerra Посмотреть сообщение
Структура csv заранее неизвестна
о каком импорте тогда идет речь?

если операция разовая - откройте к экселе и скопируйте в аксесс
0
25 / 24 / 7
Регистрация: 22.08.2017
Сообщений: 130
16.04.2018, 13:35  [ТС]
Задача такая:
периодически приходят прайсы от поставщиков, в разных форматах - csv, txt, xls, mdb
Прайсы огромные, на всю номенклатуру - бывает и по 1,5 и по 2 млн. строк.
Надо выдернуть этот прайс в таблицу Access (mdb-шник используется как промежуточная база, для черновых операций парсинга/анализа/сборки, чтобы не нагружать этим основной сервак), там разобрать (по определённым правилам), сформировать таблицу определённой структуры и скормить инструменту ERP-шки, которая уже знает, как и что с этой таблицей делать
Изначально я так и сделал - юзер должен был средствами акцеса вручную сделать импорт таблицы - а потом я уже с ней работал из своей проги. НО - зажелали, чтобы было попроще, чтобы тупо выбрал фай, кликнул на нём мышом - и "ОНО всё само сделало"...
Вот, сижу, парюсь теперь...

Добавлено через 2 минуты
Открыть-то тот же самый csv-шник в ADO я могу, но лить 1,5 млн. записей через ado insert-post - это изврат... Оно инсертиться будет сутки...
0
5989 / 4564 / 1096
Регистрация: 29.08.2013
Сообщений: 28,207
Записей в блоге: 3
16.04.2018, 13:37
1. не зная формата файла парсинг этих файлов займет вечность
2. аксесс как временная таблица не подходит совсем
0
25 / 24 / 7
Регистрация: 22.08.2017
Сообщений: 130
16.04.2018, 13:43  [ТС]
Да собственно парсить я его и не буду - предполагается, что юзер задаст в предварительных настройках соответствия полей исходной и результирующей таблиц, а потом просто сформирую стринговую переменную. в которорую напишу 'insert into T1 select бла-бла-бла from T2' - и ExecSQL ему.
Самый затык сейчас - это именно программно импортнуть таблу в акцес... Как сделать всё остальное - я знаю

Про то, что акцес не очень хороший вариант - знаю, но пока другого пути нет... Проще всего было бы на сиквельном серваке лупануть bulk insert во временную таблу, и там уже ковыряться - но политика безопасности такая, что булк-инсерт юзверям делать низзя... и из-под юзверя низзя... и вообще почти ничего низзя...
0
5989 / 4564 / 1096
Регистрация: 29.08.2013
Сообщений: 28,207
Записей в блоге: 3
16.04.2018, 13:50
Цитата Сообщение от AsTerra Посмотреть сообщение
Самый затык сейчас - это именно программно импортнуть таблу в акцес..
с помощью StreamReader построчно считать строку и сделать INSERT в базу
0
25 / 24 / 7
Регистрация: 22.08.2017
Сообщений: 130
16.04.2018, 13:54  [ТС]
А можно подробней с этого места? Или какой-нибудь примерчик?
0
5989 / 4564 / 1096
Регистрация: 29.08.2013
Сообщений: 28,207
Записей в блоге: 3
16.04.2018, 14:08
все есть
если в поиск залезть)
Чтение текстовых данных из файла с позиционированием

создаешь переменную типа StreamReader
грузить файл
проходишь циклом
считываешь строку
с ней и работаешь - разбираешь на части, создаешь запрос, выполняешь (или можно создать запрос из 100 строк и разово выполнить)
0
25 / 24 / 7
Регистрация: 22.08.2017
Сообщений: 130
16.04.2018, 14:22  [ТС]
Попробую, конечно... Но ХЗ, что из этого получтися
ИМХО это изврат - парстить стрим, формировать кучу инсертов в ран-тайме - вместо того, чтобы просто влупить все строки инсерт-селектом...
0
5989 / 4564 / 1096
Регистрация: 29.08.2013
Сообщений: 28,207
Записей в блоге: 3
16.04.2018, 14:26
твоя csv большая, могут быть ошибки
а так и проверить можно количество полей и скорость около 10к строк\с
500 мб файл заливается за 7 минут
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.04.2018, 14:26
Помогаю со студенческими работами здесь

Импорт данных из csv файла в таблицы БД
Здравствуйте. Помогите пожалуйста реализовать следующее. У меня есть база данных в ней находится 3 таблицы (схему бд прикрепил). У меня...

Импорт таблицы VFP в Access
Доброго времени суток! Подскажите, плз, как можно корректно импортировать таблицу Visual FoxPro? Пробовала через DatabaseTransfer, но там...

Импорт таблицы Word в Access
Здравствуйте. Нужна помощь. Нужно создать кнопку, по нажатию на которую создавалась бы таблица access с данными из таблицы word. ...

Импорт таблицы excel в access
Всем привет. Очень нужна Ваша помощь! Есть таблица excel её нужно перенести в access через vba, т.е. нажал кнопку таблица уже в access...

Импорт таблицы Access в MySQL
Здравствуйте, интересует как малой кровью перенести большую таблицу БД Access на сервер MySQL? Пытался выгрузить в .csv и импортировать в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru