2008-08-22 4 views
3

Verfügt jemand über eine Technik zum Generieren von SQL-Tabellenerstellungs- (und Dateneinfügungs-) Befehlen pragmatisch aus einer CSV-Datei (oder einem Blatt in einer .xls-Datei)?CSV (oder Blatt in XLS) zu SQL erstellen (und einfügen) Anweisungen mit .Net?

Ich habe ein Drittanbieter-Datenbanksystem, das ich mit Daten aus einer CSV-Datei (oder Blatt in einer XLS-Datei) füllen möchte, aber das mitgelieferte Importer kann die Tabellenstruktur nicht automatisch erstellen, wie es das tut einführen. Meine CSV-Datei hat viele Tabellen mit vielen Spalten, so würde ich gerne den Tabellenerstellungsprozess sowie den Datenimport wenn möglich automatisieren, aber ich bin unsicher, wie man die create-Anweisung erzeugt ...

Antwort

1

In SQL Server ist es so einfach wie

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

Leider für eingebettete Systeme ein SQLEngine ich verwende, damit es nicht von Bulk oder OLEDB-Datenquellen unterstützt, weshalb ich ist daran dachte, die SQL-Einnahme Ansatz zur Erstellung von Aussagen.

1

Ich empfehle einen Blick auf csvkit. Seine csvsql Funktion kann aus den meisten tabellarischen Datenquellen Tabelleneinfügungsanweisungen generieren oder sie sogar für Sie ausführen.

Verwandte Themen