CSV (или лист в XLS) для SQL создавать (и вставлять) операторы с .Net?

У кого-нибудь есть метод для создания команд создания (и вставки данных) таблиц SQL из файла CSV (или листа в .xls)?

У меня есть сторонняя система баз данных, которую я хотел бы заполнить данными из файла csv (или листа в файле xls), но предоставленный импортер не может автоматически создать структуру таблицы, как при импорте. Мой CSV-файл содержит множество таблиц с большим количеством столбцов, поэтому я хотел бы автоматизировать процесс создания таблиц, а также импорта данных, если это возможно, но я не уверен, как сгенерировать оператор create ...

22.08.2008 17:19:24
4 ОТВЕТА
РЕШЕНИЕ

В SQL-сервере это так же просто, как

SELECT * INTO NewTablenNmeHere
FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=C:\testing.xls','SELECT * FROM [Sheet1$]') 
1
22.08.2008 17:23:06
BULK 
INSERT CSVTest
        FROM 'c:\csvtest.txt'
            WITH
    (
                FIELDTERMINATOR = ',',
                ROWTERMINATOR = '\n'
    )
1
23.09.2013 11:03:57

К сожалению, я использую SQLEngine для встраиваемых систем, поэтому он не поддерживает источники данных BULK INSERT или OLEDB, поэтому я подумал о применении подхода генерации операторов SQL.

0
22.08.2008 17:30:24

Я рекомендую взглянуть на csvkit . Его функция csvsql может генерировать операторы вставки таблиц или даже выполнять их для вас из большинства табличных источников данных.

1
27.03.2012 09:05:07