Question

Quelqu'un aurait-il une technique pour générer le SQL de création de table (et les données insérer des commandes, de façon pragmatique, à partir d'un fichier CSV (ou feuille de dans une .xls fichier?

J'ai une base de données de tiers système que je voudrais remplir avec des données provenant d'un fichier csv (ou une feuille dans un fichier xls), mais l'importateur fourni ne peut pas créer la structure de la table automatiquement comme il ne l'importation.Mon fichier csv a beaucoup de tables avec beaucoup de colonnes et je voudrais automatiser le processus de création de la table ainsi que les données de l'importation si possible, mais je n'en suis pas sûr à propos de la façon d'aller sur la génération de l'instruction de création...

Était-ce utile?

La solution

Dans SQL server, il est aussi facile que de

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

Autres conseils

Je recommande d'avoir un coup d'oeil à csvkit.Son csvsql la fonction peut générer le tableau des instructions insert, ou même de les exécuter pour vous, à partir de la plupart des sources de données tabulaires.

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

Malheureusement, je suis en utilisant un SQLEngine pour les systèmes intégrés de sorte qu'il ne prend pas en charge l'instruction BULK INSERT ou OLEDB sources de données, c'est pourquoi j'ai pensé à prendre l'instruction sql de génération de démarche.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top