powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как импортировать csv в sqllite
7 сообщений из 7, страница 1 из 1
Как импортировать csv в sqllite
    #38423434
olehR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно работаю на C# c сборкой под нет.
Хочу напрямую импортировать CSV

Вариан .import не интересен поскольку нужно использовать внешнюю програму(sqllite).

Cмотрел в сторону create virtual table но не нашол примера с CSV

Ручной импорт через SQLiteStudio тоже не вариант.

Понимаю что решение рядом.

Пожалуйста помогите.
...
Рейтинг: 0 / 0
Как импортировать csv в sqllite
    #38423455
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olehRВариан .import не интересен поскольку нужно использовать внешнюю програму(sqllite).А зря не интересен.
Для большинства случаев этого хватает. Делаешь .bat файл с вызовом соответствующих команд и все.
Если же процесс заливки надо делать часто и непременно из GUI, то CSV распарсить можно и вручную и скормить результат в insert'ы.

А если хочется через virtual table, то надо писать модуль соответствующий. Насколько я знаю этим никто не заморачивался пока. Сделаешь - первым будешь.
...
Рейтинг: 0 / 0
Как импортировать csv в sqllite
    #38423488
olehR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlДелаешь .bat файл с вызовом соответствующих команд и все.
Проблема в том что предполагается получать разние файлы и часто. В таком случае придется для каждого файла писать свой батник или переименововать пришедший.
White OwlЕсли же процесс заливки надо делать часто и непременно из GUI, то CSV распарсить можно и вручную и скормить результат в insert'ы.
Можно, но строк много. (десятки или сотни тисяч) будет долго по сравнению с .import.
Нужен быстрий способ.
White OwlА если хочется через virtual table, то надо писать модуль соответствующий. Насколько я знаю этим никто не заморачивался пока. Сделаешь - первым будешь.
Чесно говоря надеялся что кто то уже написал. Но несколько часов поиска результата не дали.
Да и чесно нет столько свободного времени. Да и наверно квалилификации. :)

Тем более обидно что оно уже фактически написано. Смисл не включать ету возможность в движок? Ну хотя б опционально.

White Owl, Спасибо за ответ
...
Рейтинг: 0 / 0
Как импортировать csv в sqllite
    #38423518
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olehRWhite OwlДелаешь .bat файл с вызовом соответствующих команд и все.
Проблема в том что предполагается получать разние файлы и часто. В таком случае придется для каждого файла писать свой батник или переименововать пришедший.А что, параметры для батников уже отменили?

olehRWhite OwlЕсли же процесс заливки надо делать часто и непременно из GUI, то CSV распарсить можно и вручную и скормить результат в insert'ы.
Можно, но строк много. (десятки или сотни тисяч) будет долго по сравнению с .import.
Нужен быстрий способ.А .import это магия не использующая insert да? Ну тогда удивляйся: .import это совершенно стандартный вызов команды INSERT. В цикле. Прочитать строку из файла - распрасить, потом sqlite3_step, sqlite3_reset, повторить пока файл не кончился.

olehRWhite OwlА если хочется через virtual table, то надо писать модуль соответствующий. Насколько я знаю этим никто не заморачивался пока. Сделаешь - первым будешь.
Чесно говоря надеялся что кто то уже написал. Но несколько часов поиска результата не дали.
Да и чесно нет столько свободного времени. Да и наверно квалилификации. :)

Тем более обидно что оно уже фактически написано. Смисл не включать ету возможность в движок? Ну хотя б опционально.А зачем? Это достаточно примитивная задача которую каждый может решить сам.

Ну если так уж лениво, бери свежую амальгаму, иди в shell.c и строки 1986-2133 это то что тебе нужно. Хочешь - прямо так копируешь в свой проект, хочешь разбираешься что в этих строках делается и переписываешь на свой любимый язык.
...
Рейтинг: 0 / 0
Как импортировать csv в sqllite
    #38423528
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olehRСмисл не включать ету возможность в движок? Ну хотя б опционально.ахаха)) а завтра другой погромист захочет одной строчкой импортировать данные из xls, doc, pdf и т.д. и т.п. пишите, батенька, руками от и до))
...
Рейтинг: 0 / 0
Как импортировать csv в sqllite
    #38423569
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlolehRТем более обидно что оно уже фактически написано. Смисл не включать ету возможность в движок? Ну хотя б опционально.А зачем? Это достаточно примитивная задача которую каждый может решить сам.Уточню пожалуй. А то меня начнут закидывать тухлыми помидорами с аргументацией "а библиотеки?!".

У CSV на самом деле довольно много форматов. То что понимается как CSV в одной программе, не обязательно будет пониматься в другой.
Существует http://tools.ietf.org/html/rfc4180 описывающий "стандарт", вот только не все ему следуют. Конкретно .import - следует. Но в зависимости от того, откуда приходит файл - возможно придется делать специальные коррекции.
Так что как постоянный модуль это может быть слегка неудобным...
К тому-же, csv это внешний файл который может быть обновлен или убит внешними средствами. Отслеживать жизненный цикл внешнего файла это задача не входящая в задачи СУБД. Вот как разовую команду (вместо модуля виртуальной таблицы) это сделать в принципе можно было бы....
Но разовые команды должны откуда-то подаваться. Либо от пользователя с мышью, либо от эникейщика который поддерживает систему, либо по расписанию. А все эти три случая - чистый случай работы клиента.



однако.... Гугль найдет все!
http://sqlite.org/cvstrac/wiki?p=ImportingFiles
Уже готовый модуль.
Сам не проверял.
...
Рейтинг: 0 / 0
Как импортировать csv в sqllite
    #38452385
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
White OwlА если хочется через virtual table, то надо писать модуль соответствующий. Насколько я знаю этим никто не заморачивался пока. Сделаешь - первым будешь.

Ну что вы:
http://sqlite.mobigroup.ru/artifact/c96cffa9150e4d952928885e9a20a46c1b6faa48
http://sqlite.mobigroup.ru/artifact/042d0766acbde094e0faf668d4157db80b67e2f2

Есть и другие реализации.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как импортировать csv в sqllite
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]