Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Имеется проект в c#, файл с данными (CSV) порядка 10 тыс. строк и база MySql. Требуется импортировать данные в базу, при этом импортировать нужно не все колонки, имена полей в базе и файле разные т.е. нужно явно указывать как поля соотносятся (column mappings). Попробовал MySqlDataBulkLoader, но увы. Можно ли решить задачу напрямую в базе? В принципе, что посоветуете? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 18:59 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
iMrTidy, мне кажется, пока ждешь здесь ответа уже несколько раз можно написать парсер, хоть на том же C#, который превратит csv в балк-скрипт для mysql... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 20:22 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
iMrTidyчто посоветуете?Импорт во временную таблицу и затем копирование в боевую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 20:52 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 21:10 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
Дормедонт ЕвлампиевичiMrTidy, мне кажется, пока ждешь здесь ответа уже несколько раз можно написать парсер, хоть на том же C#, который превратит csv в балк-скрипт для mysql... Я почти весь день потратил на это дело, поэтому парсер написан, даже в 2-х вариантах, но ни один не решает "красиво" задачу с column mappings и типом данных. В первом случае, данные сначала импортируются в Dictionary, а потом в базу при помощи Entity Framework, но имена и типы данных приходится задавать вручную. Во втором варианте, импорт идет через DataTable. И здесь можно задать имена полей динамически, пока не понятно как быть с типами данных. Есть идея определять их исходя из содержимого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 21:24 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
AkinaiMrTidyчто посоветуете?Импорт во временную таблицу и затем копирование в боевую. В DataTable? А как посоветуете быть с column mappings и типами данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 21:25 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
iMrTidyЯ почти весь день потратил на это делоПосмотреть в справочник команд MySQL вышло бы значительно быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 21:26 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
miksoftiMrTidy, LOAD DATA INFILE Возможно я не внимательно читал, но не нашел как можно явно указать какие поля каким должны соответствовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 21:41 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
iMrTidyВ DataTable?Меня просто изумляет Ваше настойчивое желание сделать через задницу. Задача - передать файл в БД. Действующие лица: файл, СУБД. Какого хрена надо пытаться подсунуть какого-нибудь посредника? Тебе что, этот шарп взятку сунул? Его дело мелкое - передал приказ и свалил в сторону. А весь приказ - два запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 21:48 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
AkinaiMrTidyВ DataTable?Меня просто изумляет Ваше настойчивое желание сделать через задницу. Задача - передать файл в БД. Действующие лица: файл, СУБД. Какого хрена надо пытаться подсунуть какого-нибудь посредника? Тебе что, этот шарп взятку сунул? Его дело мелкое - передал приказ и свалил в сторону. А весь приказ - два запроса. Я Вас не так понял, конечно посмотрю temp tables. Недоделанный код мне достался от предшественника, поэтому я спросил изначально: iMrTidyМожно ли решить задачу напрямую в базе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 22:03 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
Akina, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 22:13 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
Akina, восхищюсь Вашими ответами.. А что делать в подобном случае, если СУБД на другом узле, и нет возможности использовать утилиты типа mysqlimport ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 22:15 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
iMrTidymiksoftiMrTidy, LOAD DATA INFILE Возможно я не внимательно читал, но не нашел как можно явно указать какие поля каким должны соответствовать. Код: sql 1. Далее по тексту есть примеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 23:16 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
Дормедонт ЕвлампиевичА что делать в подобном случае, если СУБД на другом узле, и нет возможности использовать утилиты типа mysqlimport ?Установить клиент MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2017, 23:16 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
miksoftiMrTidyпропущено... Возможно я не внимательно читал, но не нашел как можно явно указать какие поля каким должны соответствовать. Код: sql 1. Далее по тексту есть примеры. Я посмотрел, все равно получается, что прописывать придется вручную. Есть способ сделать это динамически, например, если есть таблица с соответствиями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2017, 00:20 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
Уточню задачу. Файл csv содержит 50 колонок, имена и порядок которых могут меняться время от времени, могут добавляться новые и удаляться старые. Есть таблица в базе, в которой содержится 30 колонок, имена, позиции не соответствуют тем, что есть файле. Есть список, который будет обновляться пользователем, содержащий какая колонка файла соответствует колонке в базе. Колонки в базе имеют разные типы данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2017, 00:31 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
miksoftДормедонт ЕвлампиевичА что делать в подобном случае, если СУБД на другом узле, и нет возможности использовать утилиты типа mysqlimport ?Установить клиент MySQL. Правильно понял, что если нет такой возможности, то тут либо такую возможность изыскать, либо никак? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2017, 09:02 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
iMrTidyЕсть способ сделать это динамически, например, если есть таблица с соответствиями?Генерировать запрос динамически в клиентской программе. К сожалению, в MySQL-процедурах не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2017, 15:37 |
|
||
|
Импортировать CSV в базу с column mappings
|
|||
|---|---|---|---|
|
#18+
Дормедонт Евлампиевичmiksoftпропущено... Установить клиент MySQL. Правильно понял, что если нет такой возможности, то тут либо такую возможность изыскать, либо никак?Либо изыскать, либо эскалировать исключение выше по иерархии - тому, кто поставил такую задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2017, 15:43 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39489903&tid=1830539]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 150ms |

| 0 / 0 |
