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 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, 6297 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
Microsoft Office
Tabelleninhalt übernehmen
Frage von jonibaMicrosoft Office8 Kommentare

Hallo Leute! Ich benötige Hilfe bei Excel 2010 Ich habe eine Abrechnugstabelle wo ich Tankbelege eintrage. Von einer anderen ...

Datenbanken
Problem beim Export aus dem SQL-Developer
Frage von 94451Datenbanken4 Kommentare

Hallo liebe Leut, ich habe ein Problem beim export von einem Select aus dem SQL-Developer wenn ich einen "einfachen" ...

Microsoft Office
Excel, Tabelleninhalt nach Wert summieren
Frage von sagrosserMicrosoft Office4 Kommentare

Ich habe eine Tabelle (b3:u54) mit mehreren Namen und würde mir gerne jeden Namen mit der Anzahl seiner Häufigkeit ...

Microsoft Office
Tabelleninhalt auf andere Tabellen übertragen
Frage von MatzusMicrosoft Office9 Kommentare

Hallo Forum, ich hoffe, dass ihr mir helfen könnt. Ich importiere über ein Makro mehrere csv Dateien in eine ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 4 StundenWindows 10

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 6 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 20 StundenInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 23 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte15 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...