SQL Daten aus Excel in SQL-Server importieren

estre

Commander
Registriert
Dez. 2005
Beiträge
3.006
Hallo zusammen,

folgendes Problem:
Ich habe eine Excel-Tabelle mit 100 Datensätzen die irgendwann mal aus einer zugehörigen Datenbank exportiert wurden. Nun möchte ich für jeden dieser Datensätze über die zugehörige ID in der Datenbank ein Update ausführen und einen bestimmten Wert in einer Spalte ändern.

Da ich kaum Ahnung von SQL habe benötige ich hierfür Eure Hilfe.

Vielen Dank!
 
In der Excel-Datei wirst du keinen vernünftigen Schreibzugriff hin bekommen. Dafür sind Tabellenkalkulationen einfach nicht gedacht. Datenbanken sind eben mehr als Tabellenblätter.
 
Hi,

zunäachst mal vielen Dank für deine Antwort.
Ich verstehe nicht ganz was du meinst. Auf die Excel-Datei muss ich nur lesen zugreifen. Dort sind meine Datensätze zu finden die ich in der Datenbank aktualisieren muss.

Grüße
 
Eine recht zuverlässige Methode - leider mit kleinem Umweg - ist, das Excel-Sheet nach Access zu importieren. Dann mit dem ODBC-Treiber die Zieltabellen aus dem SQL-Server verknüpfen und die Daten aus der Importtabelle direkt in die verknüpfte Zieltabelle hinein zu kopieren (kann man auch über eine Aktualisierungsabfrage machen).
 
Zuletzt bearbeitet:
Wenn es einmalig ist, einfach eine neue Tabelle im SQL anlegen und mit Copy & Paste den Inhalt der Excelliste in die neue Tabelle kopieren.

Dann über SQL ein Update Befehl setzen und anschließend die neue Tabelle wieder löschen :)
 
estre schrieb:
Ich verstehe nicht ganz was du meinst. Auf die Excel-Datei muss ich nur lesen zugreifen. Dort sind meine Datensätze zu finden die ich in der Datenbank aktualisieren muss.
Mach ne CSV aus der Excel, lies sie in einer Sprache deiner Wahl (z.B. PHP) ein und iteriere über die Datensätze.
 
Hallo,

nochmals Danke für die zahlreichen Antworten.
Ich habe jetzt die "quick and dirty" Methode gewählt und mit VERKETTEN in Excel einfach ein update-Statement mit der ID aus Spalte A gebastelt. Dies habe ich dann für jede Zeile in der Excel-Datei wiederholt und anschließend die ganzen Statements über die Datenbank laufen lassen (vorher natürlich eine Transaction gestartet und nach dem testen einen commit durchgeführt).

Beispiel:
Code:
UPDATE Tabell1 SET blabla='N', blubb='B' WHERE ID=A1(auf Zelle in Excel bezogen, hier steht also dann der Wert, z.b. 1234)
UPDATE Tabelle1 SET blabla='N', blubb='B' WHERE ID=A2
UPDATE Tabelle1 SET blabla='N', blubb='B' WHERE ID=A3
UPDATE Tabelle1 SET blabla='N', blubb='B' WHERE ID=A4
UPDATE Tabelle1 SET blabla='N', blubb='B' WHERE ID=A5
usw...
 
Zurück
Oben