Domanda

Qualcuno ha una tecnica per generare comandi di creazione (e inserimento dati) di tabelle SQL in modo pragmatico da un file CSV (o foglio in un file .xls)?

Ho un sistema di database di terze parti che vorrei popolare con i dati di un file CSV (o un foglio in un file XLS) ma l'importatore fornito non può creare automaticamente la struttura della tabella durante l'importazione.Il mio file CSV ha molte tabelle con molte colonne, quindi mi piacerebbe automatizzare il processo di creazione della tabella e l'importazione dei dati, se possibile, ma non sono sicuro di come generare l'istruzione create...

È stato utile?

Soluzione

In SQL Server è facile come

SELECT * INTO NewTablenNmeHere
FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=C:\testing.xls','SELECT * FROM [Sheet1$]') 

Altri suggerimenti

Consiglio di dare un'occhiata csvkit.Suo csvsql può generare istruzioni di inserimento tabella o addirittura eseguirle per te, dalla maggior parte delle origini dati tabulari.

BULK 
INSERT CSVTest
        FROM 'c:\csvtest.txt'
            WITH
    (
                FIELDTERMINATOR = ',',
                ROWTERMINATOR = '\n'
    )

Sfortunatamente sto utilizzando un SQLEngine per sistemi embedded, quindi non supporta origini dati BULK INSERT o OLEDB, motivo per cui stavo pensando di adottare l'approccio di generazione di istruzioni SQL.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top