Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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 IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Tabelleninhalte Export als SQL-Skript

Frage Microsoft Microsoft Office

Mitglied: n0ss0r

n0ss0r (Level 1) - Jetzt verbinden

15.12.2009, aktualisiert 13:30 Uhr, 6286 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:

01.
-- insert wanted attribute 
02.
INSERT INTO RM_ATTRIBUTE 
03.
	( IDSEQ, RESOURCETYPE, INTERNALNAME, NAME, MODUSER, MODTIME, CREATETIME) 
04.
VALUES 
05.
	( IDSEQ_SEQUENCE.NEXTVAL, 'Ressourcentyp', 'Attribut', 'Bezeichnung', 'initial', SYSDATE, SYSDATE) 
06.
/
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
Phpmyadmin export maximal 50kb groß (4)

Frage von Leo-le zum Thema Datenbanken ...

Batch & Shell
gelöst Powershell - HL7 - Export nach CSV (1)

Frage von internet2107 zum Thema Batch & Shell ...

Off Topic
SAP GDPdU Export (3)

Frage von cse zum Thema Off Topic ...

Windows 7
gelöst Batch-Skript oder VBS Skript zum Sichern von Office Vorlagen (2)

Frage von Ceejaay zum Thema Windows 7 ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (14)

Frage von ZeroCool23 zum Thema Windows 10 ...

Router & Routing
gelöst Getrenntes Routing bei VoIP und Daten (12)

Frage von Hobbystern zum Thema Router & Routing ...