Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Tabelleninhalte Export als SQL-Skript

Mitglied: n0ss0r

n0ss0r (Level 1) - Jetzt verbinden

15.12.2009, aktualisiert 13:30 Uhr, 6422 Aufrufe, 4 Kommentare

Hallo,

ich arbeite zur Zeit mit verschiedenen Datenbanken (z.B. Oracle 9i) und stehe gerade vor einer recht kniffligen Aufgabe im Zusammenhang mit Excel.
Ich wusste leider nicht, ob meine Frage besser in den Bereich "Datenbanken" oder "Excel" passt!?

Und zwar möchte ich eine Tabelle in ein fertiges SQL-Skript exportieren.

Sprich z.B. ein Makro schreiben, welches mir auf Knopfdruck alle Spalteninhalte mit den zugehörigen SQL-Befehlen ("INSERT") in eine .sql-Datei schreibt, sodass man bei Anpassungen der Datei nur auf einen Button drückt und sofort ein Skript hat, welches man dann später beim Kunden auf der Datenbank ausführen kann, um sie mit den Inhalten aus der Tabelle abzugleichen.

Ich dachte zunächst an eine Lösung im Zusammenhang mit ODBC, wobei mir dabei einfiel, dass das Problem an der ganzen Sache ist, dass derjenige, der die Tabelle bearbeitet, nicht zwangsläufig eine direkte Verbindung zur Datenbank hat.

Leider muss ich zugeben, dass ich mich mit Makros/VBA nicht sehr gut auskenne und hoffe deshalb, dass mir hier jemand helfen kann.


Grüße,
Thomas
Mitglied: Biber
15.12.2009 um 14:22 Uhr
Moin n0ss0r,

willkommen im Forum.
Zitat von n0ss0r:
Ich dachte zunächst an eine Lösung im Zusammenhang mit ODBC, wobei mir dabei einfiel,
dass das Problem an der ganzen Sache ist, dass derjenige, der die Tabelle bearbeitet,
nicht zwangsläufig eine direkte Verbindung zur Datenbank hat.

Aber dann ist doch erst recht erstrebenswert, wenn keine sofort aufzuführenden INSERT-Statements gegen die DB abgefeuert werden, sondern nur eine (versand-)fertige .sql-Datei erzeugt wird.

Wo liegt denn jetzt das Problem?
Ist eine asynchrone Verarbietung hinnehmbar oder braucht die Excel-tabelle Informationen darüber, welche Datensätze in die Oracle-Tabellen übernommen werden konnten?
Wenn ja - was müsste in der Excel-Klamotte gespeichert werden, welche Fehlerbehandlung ist erforderlich.
Wenn nein - dann würde ich die Automatisierung (wenn es keine regelmäßige Aktion ist) sogar ganz zurückstellen und die SQL-Generierung direkt in einer freien Spalte der Exceltabelle mit banalen Excelformeln+Copy&Paste abfackeln.

Grüße
Biber
Bitte warten ..
Mitglied: n0ss0r
15.12.2009 um 14:53 Uhr
Hi Biber,


zunächst mal ein einfaches Beispiel, wie die Tabelle aussehen kann:

Attribut Bezeichnung Use?

Test1 Bez1 X
Test2 Bez2
Test3 Bez3 X

Die Spalten "Attribut" und "Bezeichnung" sollen in korrespondierende Spalten in der Datenbank übernommen werden, während die Spalte "Use?" zur Selektion dient, sprich nur die mit einem "X" markierten Zeilen sollen in die Datenbank, bzw. das SQL-Skript übernommen werden.

So in etwa könnten die zu generierenden SQL-Statements aussehen:

Für 'Attribut' und 'Bezeichnung' hätte ich jetzt nur gerne die Inhalte der Spalten aus der Tabelle, das Ganze in dieser Form in einer .sql-Datei.

Deine Idee die SQL-Generierung in einer freien Spalte mit einfachen Formeln zu realisieren finde ich gar nicht mal so schlecht.
Man könnte überlegen die SQL-Statements in einer freien Spalte vorzubereiten, die Inhalte aus den Spalten hinzuzufügen und anschließend den Inhalt dieser Spalte irgendwie abzuspeichern.
Das Ganze schön in einem Makro verpackt.

Wie sähe da eine ungefähre Realisierung aus? Bessere Möglichkeiten?

Jedenfalls schon mal Danke für den Input!


Grüße,
Thomas
Bitte warten ..
Mitglied: Biber
15.12.2009 um 15:43 Uhr
Moin n0ss0r,

nochmal die Rückfrage, bevor wir unnötig irgendwohin loslaufen...
Man könnte überlegen die SQL-Statements in einer freien Spalte vorzubereiten, die Inhalte aus den Spalten hinzuzufügen
und anschließend den Inhalt dieser Spalte irgendwie abzuspeichern.
Das Ganze schön in einem Makro verpackt
Genau der letzte Satz ist die Frage...

?? Ist es denn eine regelmäßig wiederkehrende Aktion größeren Ausmaßes OHNE (nach menschlichem Ermessen) manuell erforderliche Eingriffe ??

Wenn ja --> dann isses automatisierbar --> meinetwegen einen Makro.
Wenn eher nein --> for what? "Halb automatisiert" lohnt sich sehr sehr selten.

Entweder die Klamotte kann (als Beispiel) unbeaufsichtigt jeden Mittwoch um 03:30 per Taskplaner gestartet werden,
oder aber es muss ein Mensch davor/dabeisitzen--> dann soll der auch alles auf dem Bildschirm sehen können.

Grüße
Biber
Bitte warten ..
Mitglied: n0ss0r
15.12.2009 um 16:01 Uhr
Hi Biber,

es ist als regelmäßige, im Zusammenhang mit Aktualisierungen und Veränderungen der gegebenen Tabellen, und wiederkehrende Aktion gedacht. Also, ja.

Es dient hauptsächlich zur Automatisierung und Vereinfachung des Ablaufs der Aktualiserung der Datenbank.

Wenn das System beim Kunden in Betrieb ist und wir Veränderungen vornehmen an unseren lokal vorhandenen Basis-Tabellen, soll die Möglichkeit bestehen die .sql-Datei daraus zu generieren und den Administratoren beim Kunden zur Einspielung in die Datenbank zu senden.

Meinetwegen einer unserer Mitarbeiter verändert die Tabelle, drückt auf einen Knopf --> Zack .sql-Datei da --> ab zum Kunden. Fertig.

So ist es gedacht.

Grüße
Bitte warten ..
Ähnliche Inhalte
Datenbanken

Postgre SQL Trigger oder nachgelagertes separates Skript?

gelöst Frage von TheJoker2305Datenbanken4 Kommentare

Hallo zusammen, wir betreiben einen PostgreSQL Server mit einer firmeninternen Software (DWH). Ist es performanter das Staging der Daten ...

Batch & Shell

Powershell export

gelöst Frage von SquenterBatch & Shell5 Kommentare

Hallo, ich muss aus Active Directory eine Liste exportieren, von Usern die eine Telefonnummer haben! Leider exportiert mein Skript ...

Windows Userverwaltung

Powershell User Export

gelöst Frage von banane31Windows Userverwaltung2 Kommentare

Hallo, bitte nicht gleich die Keule rausholen :) Ich bin gerade dabei für unsere Personalabteilung eine Liste aller AD ...

Off Topic

SAP GDPdU Export

Frage von cseOff Topic3 Kommentare

Hi Leute, mal ne kleine Frage in die Runde. Wer macht bei euch GDPdU - Export? Wir sollen das ...

Neue Wissensbeiträge
LAN, WAN, Wireless
Sophos Central Wireless v2.3.0-6 massive Probleme
Information von Voiper vor 1 TagLAN, WAN, Wireless

Hallo Zusammen, wenn Ihr Sophos Central nutzt und die neuen APX Accesspoints im Einsatz habt, vermeidet das Update der ...

Off Topic
Wuebra - tech-flare
Information von tech-flare vor 2 TagenOff Topic3 Kommentare

Servus, Nein ihr seid mich nicht los Aus Wuebra wird tech-flare. Schöne Restwoche :)

Ausbildung
Crashkurs in Computertools - das fehlende Semester
Information von NetzwerkDude vor 3 TagenAusbildung

Moin, habe eigentlich was anderes gesucht, aber zufällig diesen MIT Kurs gefunden: Sind 11 Lektionen je 1 Stunde, als ...

Windows Netzwerk
Unsichtbare DHCP Leases finden und löschen
Anleitung von binBash86 vor 4 TagenWindows Netzwerk

Wir hatten häufiger das Problem, dass ein Windows DHCP Server scheinbar keine Leases mehr frei hat, wenn man aber ...

Heiß diskutierte Inhalte
Windows 10
W10 Netzlaufwerk alter SAMBA Server funktioniert nicht mehr seit Update 2004
Frage von leon123Windows 1030 Kommentare

Hallo zusammen, ich habe bei allen Windows 10 mit Update 2004 das Problem, dass Verbundene Netzlaufwerke eines älteren SAMBA ...

Netzwerke
Erfahrungen mit Huawei-Switchen
Frage von Der-PhilNetzwerke25 Kommentare

Hallo! Einer meiner Partner hat mir gerade wärmstens die Campus-Access-Switche von Huawei ans Herz gelegt - im Speziellen die ...

Windows 10
Bekannter hat auf Mal folgende Windows Meldung beim hochfahren.Wir müssen das Kennwort für ihr Microsoft Konto bestätigen
Frage von martink1Windows 1021 Kommentare

Siehe anhängendes Bild. Egal was eingegeben wird , es geht irgendwie nicht weiter . Man kommt auch aus diesen ...

SAN, NAS, DAS
Homeoffice eigenen Server brauche hilfe tipps
gelöst Frage von nooblingSAN, NAS, DAS19 Kommentare

Guten Abend, es tut mir leid, wenn ich die frage sicherlich zum hundertsten male stelle. Ich arbeite Selbstständig im ...