¿CSV (u hoja en XLS) para SQL crear (e insertar) declaraciones con .Net?
Pregunta
¿Alguien tiene una técnica para generar comandos de creación de tablas SQL (e inserción de datos) de forma pragmática desde un archivo CSV (u hoja en un archivo .xls)?
Tengo un sistema de base de datos de terceros que me gustaría completar con datos de un archivo csv (u hoja en un archivo xls), pero el importador proporcionado no puede crear la estructura de la tabla automáticamente mientras lo hace con la importación.Mi archivo csv tiene muchas tablas con muchas columnas, por lo que me gustaría automatizar el proceso de creación de tablas, así como la importación de datos, si es posible, pero no estoy seguro de cómo generar la declaración de creación...
Solución
En el servidor SQL es tan fácil como
SELECT * INTO NewTablenNmeHere
FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\testing.xls','SELECT * FROM [Sheet1$]')
Otros consejos
BULK
INSERT CSVTest
FROM 'c:\csvtest.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
Lamentablemente, estoy usando un SQLEngine para sistemas integrados, por lo que no admite fuentes de datos BULK INSERT u OLEDB, por lo que estaba pensando en adoptar el enfoque de generación de declaraciones SQL.