Jump to content

Daten aus Excel in 2 SQL Server Tabellen importieren


Direkt zur Lösung Gelöst von Dukel,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Zusammen, 

 

seit langer Zeit bräuchte ich mal wieder Hilfe von euch. 

Ich bekomme in regelmäßigen Abständen eine Exceltabelle mit aktuellen Artikeln. Diese Tabelle entspricht allen lieferbaren Artikelvarianten. 

Ist es möglich auf Basis dieser Tabelle die Daten in 2 SQL Datenbanktabellen zu importieren?

 

1. Artikelvarianten

Der noch einfachste Part ist der Import in die Tabelle "Artikelvarianten" weil sie im großen und ganze den Aufbau der Excel Datei wiederspiegelt. 

Keyfeld: = [Material]

Diesen Import bekomme ich über eine gespeicherte Prozedur mit Hilfe von Powerautomate Desktop hin. 

 

2. Artikel

Der schwierige Teil ist aber die Daten zusätzlich als Artikeldatensatz in die Tabelle "Artikel" zu importieren. 

Keyfeld: = [Artikelnummer]

 

Ich bin leider noch nicht so firm in SQL, arbeite mich aber gerade in das Thema ein. 

Kann mir hier jemand helfen?

 

Da ich die Daten regelmäßig einlesen möchte, muss in dem SQL Statement auch die Prüfung enthalten sein, ob sich Felder von bereits in der Datenbank befindlichen Datensätzen geändert haben.  

 

Würde mich über Hilfe wirklich sehr freuen. 

 

Viele Grüße

Oliver

 

Artikelübergabe.xlsx

Link zu diesem Kommentar

Hi Nils, 
Ziel soll sein, eine Artikeltabelle und eine dazugehörige Artikelvariantentabelle zu bekommen. 

Grundlage für diese beiden Tabellen ist die im ersten Post angehängte Mustertabelle, die ich 1x Wöchentlich vom Lieferanten bekomme. 

Diese Exceldatei enthält aber in nur die Artikelvarianten. 

 

Ich brauche die Daten zum aufbereiten für unsere Branchensoftware. 

 

In Access habe ich dazu mal ein Beispiel aufgebaut, wie es ausschauen soll.  (siehe Anlage)

Hätte die Daten aber gerne in einer MS SQL Datenbank. 

 

Viele Grüße

Oliver

 

Anhang: 

Zeile 1  = hier ist der Artikel 

Folgezeilen = Artikelvarianten

 

 

artikel_artikelvarianten.jpg

Link zu diesem Kommentar

Moin,

 

du hast nicht das Ziel beschrieben, sondern dein mutmaßliches Werkzeug dafür. Wozu brauchst du die Tabellen im SQL Server? Was soll damit geschehen, wie verwendest du die Daten dort? Warum reicht die Excel-Tabelle nicht?

 

Du schreibst ferner davon, dass die Excel-Tabelle regelmäßig aktualisiert wird - was steckt dahinter? Könnte man stattdessen nicht gleich die Daten im SQL Server aktualisieren? Oder vielleicht gleich die Originaldaten verwenden?

 

Hast du einen Weg, die Excel-Tabelle als solche in den SQL Server zu bekommen und könntest die Daten von dort aus weiterverarbeiten und "verteilen"? Wie hoch muss oder soll der Automatisierungsgrad sein? Reichen manuelle Schritte, brauchst du am Ende ein Programm, das den Import regelmäßig macht?

 

Fragen über Fragen, wie du merkst. Wir können jetzt Annahmen treffen und dir -zig unpassende Lösungswege vorschlagen ... daher wäre es passender, wenn wir wüssten, was das denn am Ende werden soll.

 

Gruß, Nils

 

Link zu diesem Kommentar

Moin Nils, 

 

ja das hast du natürlich Recht. Ich versuche es noch genauer zu beschreiben. 

Konkret geht es darum eine Mastertabelle für Fenstersysteme aufzubauen. 

 

In diese Mastertabelle möchte ich die Daten von verschiedenen Herstellern (aktuell 2) integrieren. Die Daten der beiden aktuellen Hersteller

bekomme ich immer im gleichen Format (Excel) und die Daten sind auch immer gleich aufgebaut. 

Darum der Workflow für den Import. 

 

Wir haben es so vor, das ich in regelmäßigen Abständen ein aktuelle Excelliste mit den Artikeln bekomme. 

Alle Daten welche in der Excel Liste vorhanden sind, werden vom Hersteller aus seinem SAP gezogen und spiegeln den Artikelbestand wieder. 

 

So, was will ich nun mit den Daten im SQL Server. 

1. Bringe ich die Daten aller Hersteller in ein einheitliches Format.

2. Kann ich jetzt mit den standardisierten Daten arbeiten, d. h. ich bereite diese auf, so dass sie den Fensterbauern für ihre Fensterbausoftware zur Verfügung stehen. 

 

In diesem ersten Schritt möchte ich (darum dieser Forumbeteitrag) die Daten auf 2 Tabellen verteilen. 

 

Ich hoffe das es jetzt etwas besser verständlich ist und es hilft weiter`?

 

Link zu diesem Kommentar

Moin,

 

dann würde ich folgenden Ansatz empfehlen:

  • Import in zwei Schritten getrennt nach Artikeln und Artikelvarianten
  • Dazu die Ausgangsdaten in Excel passend filtern - einmal nur die Artikeldaten, die du brauchst, das zweite Mal die Varianten
    • noch effizienter wäre es natürlich, wenn du die Daten schon so bekommen würdest
  • Und dann mit einem geeigneten Mechanismus in den SQL Server bringen
    • je nachdem, wie viele Daten es sind und was damit in der Datenbank noch so geschieht, könnte man
      • die Tabellen jedes Mal löschen und neu importieren
      • nur neue Daten importieren
      • neue Daten importieren und vorhandene aktualisieren
      • neue Daten importieren und vorhandene regelbasiert aktualisieren
    • was ein geeigneter Mechanismus ist, wäre anhand der Auswahl zu identifizieren

Du siehst also auch hier, dass die Tücke im Detail steckt und man ohne Kenntnis des Zusammenhangs keine Methode empfehlen kann. Ein scheinbar simpler Task wie ein "Import" entpuppt sich oft als hochkomplexe Angelegenheit.

 

Gruß, Nils

 

bearbeitet von NilsK
Link zu diesem Kommentar

Ok, danke dir. 

 

Der geeignete Mechanismus ist 

- neue Daten importieren und vorhandene aktualisieren. 

 

Ich schau mir dem Tipp von Dukel mal an:
 

Für solch eine Aufgabe gibt es beim SQL Server die Integration Services:

https://docs.microsoft.com/en-us/sql/integration-services/load-data-to-from-excel-with-ssis?view=sql-server-ver15

 

War der Hoffnung, dass es einfacher ist ;-)

 

Viele Grüße

Oliver

 

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...