orausdo
Goto Top

Excel Daten in SQL Server importieren

Hallo liebe Admins,

frohes neues Jahr und alles Gute für 2016.

Nun zu meiner Frage:

In unserem Unternehmen nutzen div. User Excel um Daten aus einer SQL Server DB (Bsp. DB1) abzufragen.
Die DB beinhaltet Daten einer anderen DB (DB2) eines anderen Servers.
Diese Daten werden via Gespeicherten Prozeduren und Agent Job dynamisch aus der DB2 importiert.
Allerdings befinden sich in der xls auch Spalten welche die User händisch füllen (Kommentare/Infos) und nicht aus der DB2 kommen.
Ich habe nun die xls so umgebaut, dass alle in der DB1 vorhandenen Felder, sowie die Felder, die händisch gefüllt werden enthalten sind.
Dazu identisch die Tabelle der DB1 angepasst. Also die gleiche Spaltenstruktur/Anordnung.
Wie kann ich die Daten, die die User händisch in die xls eintragen nun Datensatzbezogen in die SQL Server Tabelle wegschreiben?

5441d8a750bb07a08bb483296fcf7dce

Vielen Dank für Eure Hilfe/Infos.

Grüsse aus DO, O

Content-Key: 292116

Url: https://administrator.de/contentid/292116

Ausgedruckt am: 28.03.2024 um 23:03 Uhr

Mitglied: maretz
Lösung maretz 03.01.2016, aktualisiert am 02.02.2016 um 15:39:53 Uhr
Goto Top
Generell - gar nicht, zumindest nicht sicher. Denn natürlich könnte man per Excel auch einfach versehentlich bei Kunde was falsches eintragen - und dein Update-Statement würde in die Grütze gehen. Du hast halt keine eindeutige, nicht änderbare ID drin.

Aber wenns wirklich nur nen Eintragen von ein paar Infos sein soll - nimm doch einfach nen DB-Frontend (sei es Access, PHP-Seite,...). Denn EIGENTLICH macht es gar keinen Sinn das du überhaupt in Excel exportierst. Und mit ner halbwegs sinnvollen Userverwaltung kann der Benutzer dann auch nur die beiden Felder abändern, der rest wäre dann für den "Excel-Eingabeuser" nur Read only...
Mitglied: laster
Lösung laster 03.01.2016, aktualisiert am 02.02.2016 um 15:39:55 Uhr
Goto Top
Hallo O,
wie kommen denn die Daten in die Excel?
Wenn dafür Macros verwendet werden, dann sollten die geänderten Daten doch auch wieder per Macro (mit UPDATE/Insert statt SELECT) in die DB kommen?
Solltest dabei beachten, dass die geänderten Daten vor dem 'rückschreiben' noch geprüft werden.
Ein Programm könnte das natürlich auch tun. Excel in entsprechenden Pfad speichern, und die geänderten Excel einlesen und die Daten updaten ...

vG
LS
Mitglied: orausdo
orausdo 04.01.2016 um 10:18:13 Uhr
Goto Top
Moin Maretz

danke für Deine Info.

Als ID, bzw. eindeutige Nr. könnte die Tel.-Nr zur Hilfe genommen werden.
Ich exportiere nicht in Excel, sondern habe eine direkte Datenverbindung zum SQL Server.
XLS --> Daten --> Daten aus anderen Quellen --> Daten von SQL Server....
Die User können halt nur mit Excel umgehen und brauchen die aktuellen Daten aus der DB.
Das Problem ist halt nur, dass auch Spalten enthalten sind, die es in der DB eigentlich nicht gibt.
Gibt es denn eine Lösung um Daten in XLS einzutragen und in die SQL Server DB wegzuschreiben?

Dank für weitere Infos.

Gruss
O
Mitglied: orausdo
orausdo 04.01.2016 um 10:28:55 Uhr
Goto Top
Moin Laster,

die Daten kommen nicht via Makro sondern mittels XLS --> Daten --> Daten aus anderen Quellen --> Daten von SQL Server
in die XLS.
Das Problem ist halt nur, dass auch Spalten enthalten sind, die es in der DB eigentlich nicht gibt.
Gibt es denn eine Lösung um Daten in XLS einzutragen und in die SQL Server DB wegzuschreiben?

Dank für weitere Infos.

Gruss
O
Mitglied: maretz
Lösung maretz 04.01.2016, aktualisiert am 02.02.2016 um 15:39:59 Uhr
Goto Top
Moin,

die Telefonnummer ist leider kein eindeutiges Kriterium. Z.B. wenn du eine Zentrale in einer firma hast können mehrere Personen ein und dieselbe nummer haben. Ganz davon ab kämpfst du dann mit den div. Schreibweisen (z.B. +49, 0049, ganz ohne Landesvorwahl).

Wenn du das dagegen mit nem Frontend machst dann sieht der Benutzer nicht mal das er gar nicht in excel ist... hat auch schöne gitternetzlinien,... -> und du sparst dir viel arbeit!
Mitglied: orausdo
orausdo 04.01.2016 um 11:07:47 Uhr
Goto Top
Moin,

die Tel.-Nr. zusammen mit dem Kundennamen ist in diesem Falle immer eindeutig. Könnte aber auch noch ne ID hinzufügen.
Wie ist denn Deine Lösung mit dem Frontend?

Dank für weitere Infos.

Gruss