CSV (ou planilha em XLS) para SQL criar (e inserir) instruções com .Net?
Pergunta
Alguém tem uma técnica para gerar comandos de criação (e inserção de dados) de tabela SQL de forma pragmática a partir de um arquivo CSV (ou planilha em um arquivo .xls)?
Eu tenho um sistema de banco de dados de terceiros que gostaria de preencher com dados de um arquivo csv (ou planilha em um arquivo xls), mas o importador fornecido não pode criar a estrutura da tabela automaticamente como faz a importação.Meu arquivo csv tem muitas tabelas com muitas colunas, então eu gostaria de automatizar o processo de criação de tabelas, bem como a importação de dados, se possível, mas não tenho certeza sobre como gerar a instrução create...
Solução
No servidor SQL é tão fácil quanto
SELECT * INTO NewTablenNmeHere
FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\testing.xls','SELECT * FROM [Sheet1$]')
Outras dicas
BULK
INSERT CSVTest
FROM 'c:\csvtest.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
Infelizmente estou usando um SQLEngine para sistemas embarcados, portanto ele não suporta fontes de dados BULK INSERT ou OLEDB, e é por isso que estava pensando em adotar a abordagem de geração de instruções SQL.