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

gelöst Variable aus Batchdatei an MySQL Query übergeben...

Mitglied: solaris-ch

solaris-ch (Level 1) - Jetzt verbinden

21.02.2008, aktualisiert 20:57 Uhr, 13006 Aufrufe, 6 Kommentare

Hallo zusammen. Habe mich vor der Anmeldung lange in diesem Forum umgeschaut und auch etliche Zeit "gegoogelt" aber leider nichts passendes Gefunden für mein Problem.

Folgende Ausgangslage:

MySQL 5.0
Windows XP Prof

- anhand eines Batchfiles werden durch den User 2 Variablen definiert. Nennen wir diese
01.
plz_von
und
01.
plz_bis
- das Batchfile öffnet eine MySQL - Instanz und führt den Query "GET_CUST.sql" aus.

Nun mein Problem:

Wie schaffe ich es, dass die zuvor im Batchfile definierten Variablen im SQL Script verwendet werden können?
Ich freue mich sehr über jegliche Art von Anregungen, Tips und Tricks!

Beste Grüsse aus Helvetien ;)
Mitglied: nomax
21.02.2008 um 08:16 Uhr
was meinst du mit variablen?
du redest von den attributen "plz_von" u "plz_bis" oder?

poste doch bitte mal das ganze batchfile.
vl kann ich dir weiter helfen
Bitte warten ..
Mitglied: solaris-ch
21.02.2008 um 08:26 Uhr
Hi!

Sorry, wenn ich mich undeutlich ausgedrückt habe.
Anbei der ganze Code.

Was ich möchte ist, die gesetzten Variabeln welche in Zeile 3 und 4 gespeichert werden, an das SQL Script "GENERATE_KML.sql" übergeben, da die Variabeln darin verwendet werden sollen.


01.
@ ECHO OFF
02.
echo Geben Sie den gewünschten PLZ Bereich ein!
03.
set /p plz_von="PLZ von eingeben: "
04.
set /p plz_bis="PLZ bis eingeben: "
05.
 
06.
echo Der gewählte Bereich ist: %plz_von% bis %plz_bis%
07.
pause
08.
 
09.
ECHO Please wait while gathering data...
10.
C:\SOLARIS\bin\mysql.exe -u DBUSER -h localhost DBNAME  --password=XXXXXX < SQL\GENERATE_KML.sql
11.
del G:\project\Google_map\NEW_GOOGLE\OUTPUT\OUTPUTOLD.kml
12.
rename G:\project\Google_map\NEW_GOOGLE\OUTPUT\OUTPUTNEW.kml OUTPUTOLD.kml
13.
move  C:\OUTPUTNEW.kml	G:\project\Google_map\NEW_GOOGLE\OUTPUT
14.
ECHO FINISHED. Press any key to close this window!
15.
 
16.
pause
Besten Dank für Deine Hilfe!
Bitte warten ..
Mitglied: MadMax
21.02.2008 um 13:32 Uhr
Hallo solaris-ch,

mir fallen da zwei Möglichkeiten ein:
1. die komlette Abfrage wird in der Batchdatei aufgebaut, also
01.
...
02.
echo select Spalten from Tabelle where PLZ between '%plz_von%' and '%plz_bis%'> GET_CUST.sql
03.
...

2. in der SQL-Abfrage GET_CUST.sql werden Variablen verwendet, die dann in der Batchdatei deklariert und zugewiesen werden und dann zusammenkopiert. Das Vorgehen könnte interessant sein, wenn die Abfrage etwas komplexer ist.

Abfrage GET_CUST.sql
01.
select Spalten from Tabelle where PLZ between @plz_von and @plz_bis
Batchdatei
01.
...
02.
echo declare @plz_von varchar (10), @plz_bis varchar (10)> GET_CUSTtmp.sql
03.
echo set @plz_von = '%plz_von%', @plz_bis = '%plz_bis%'>> GET_CUSTtmp.sql
04.
copy GET_CUSTtmp.sql + GET_CUST.sql GET_CUSTtmp.sql
05.
...
Gruß, Mad Max
Bitte warten ..
Mitglied: solaris-ch
21.02.2008 um 13:53 Uhr
Hi Mad Max

ich finde Deinen Ansatz sehr gut. Hab das jetzt mal stinkfrech eingebaut.
Leider scheint das nicht zu funzen. Muss ich das 'Haupt' SQL Script nicht noch irgendwie dazu bringen, die Variabeln zu laden?

Jetzt sieht das ganze folgendermassen aus.

Batch File:
01.
@ECHO OFF
02.
 
03.
echo Geben Sie den gewünschten PLZ Bereich ein!
04.
set /p plz_von="PLZ von eingeben: "
05.
set /p plz_bis="PLZ bis eingeben: "
06.
 
07.
 
08.
echo declare @plz_von varchar (10), @plz_bis varchar (10)> GET_CUSTtmp.sql
09.
echo set @plz_von = '%plz_von%', @plz_bis = '%plz_bis%'>> GET_CUSTtmp.sql
10.
copy GET_CUSTtmp.sql + GET_CUST.sql GET_CUSTtmp.sql
11.
 
12.
 
13.
echo Der gewählte Bereich ist: %plz_von% bis %plz_bis%
14.
echo Bitte warten Sie, während die gewünschten Daten generiert werden.
15.
 
16.
C:\SOLARIS\bin\mysql.exe -u root -h localhost solaris  --password=pwtta5a9 < SQL\GENERATE_KML.sql
17.
del G:\project\Google_map\NEW_GOOGLE\OUTPUT\OUTPUTOLD.kml
18.
rename G:\project\Google_map\NEW_GOOGLE\OUTPUT\OUTPUTNEW.kml OUTPUTOLD.kml
19.
move  C:\OUTPUTNEW.kml	G:\project\Google_map\NEW_GOOGLE\OUTPUT
20.
echo Bitte aktualisieren Sie nun im Google Earth den Netzwerklink (Rechte Maustaste, Menupunkt 'Aktualisieren'... 
21.
 
22.
pause
und hier das SQL File:
01.
WHERE			 a.CUSTOMERID = b.CUSTOMERID
02.
				AND a.STATUS  = 'Active'
03.
				AND c.PLZ         BETWEEN @plz_von AND @plz_bis
04.
				AND b.POSTALCODE = c.PLZ
kann es hier leider nicht so schön darstellen, sorry.

Das durch Deinen Beitrag erzeugte temporäre SQL File wird erstellt.
Leider werden die Variabeln wie gesagt nicht an das GENERATE_KML.sql Script übergeben. --> Sorry habe im ersten Post den falschen Scriptnamen verwendet ;)

Besten Dank und Gruss
Bitte warten ..
Mitglied: solaris-ch
21.02.2008 um 14:21 Uhr
Hey Mad Max

sorry! Habs geschafft! Musste Deine Anregungen nur noch ein wenig umbauen.
Für die Nachwelt poste ich hier den Lösungsweg wie man eine Variable aus einem MS DOS Batch File an ein MySQL Query übergibt...:

Hier der Code des Batchfiles:
01.
@ECHO OFF
02.
 
03.
echo Geben Sie den gewünschten PLZ Bereich ein!
04.
set /p plz_von="PLZ von eingeben: "
05.
set /p plz_bis="PLZ bis eingeben: "
06.
 
07.
 
08.
echo set @plz_von = '%plz_von%', @plz_bis = '%plz_bis%';> GET_CUSTtmp.sql
09.
copy GET_CUSTtmp.sql + SQL\GENERATE_KML.sql SQL\GENERATE_KMLtemp.sql
10.
 
11.
 
12.
echo Der gewählte Bereich ist: %plz_von% bis %plz_bis%
13.
echo Bitte warten Sie, während die gewünschten Daten generiert werden.
14.
 
15.
C:\SOLARIS\bin\mysql.exe -u root -h localhost solaris  --password=pwtta5a9 < SQL\GENERATE_KMLtemp.sql
16.
del G:\project\Google_map\NEW_GOOGLE\OUTPUT\OUTPUTOLD.kml
17.
rename G:\project\Google_map\NEW_GOOGLE\OUTPUT\OUTPUTNEW.kml OUTPUTOLD.kml
18.
move  C:\OUTPUTNEW.kml	G:\project\Google_map\NEW_GOOGLE\OUTPUT
19.
echo Bitte aktualisieren Sie nun im Google Earth den Netzwerklink (Rechte Maustaste, Menupunkt 'Aktualisieren'... 
20.
 
21.
pause
und hier die code snippets des SQL Scriptes:
01.
WHERE					a.CUSTOMERID	=	b.CUSTOMERID
02.
				AND		a.STATUS			=	'Active'
03.
				AND		c.PLZ	BETWEEN	@plz_von	AND	@plz_bis
04.
				AND		b.POSTALCODE	=	c.PLZ
Besten, besten Dank an Mad Max, ohne Ihn wäre die Lösung erst gar nicht möglich gewesen!

Grüsse aus Helvetien, solaris
Bitte warten ..
Mitglied: MadMax
21.02.2008 um 20:57 Uhr
Na, mit dem falschen Namen im ersten Beitrag konnte ich ja nicht rechnen

Aber freut mich, daß es letztendlich doch hingehauen hat.

Gruß, Mad Max
Bitte warten ..
Ähnliche Inhalte
Windows 10
REG Query HKLM
Frage von AtoAtoWindows 103 Kommentare

Hallo mit REG Query HKLM /F "PC 12" /S In Powershell kann man in HKLM-Baum nach PC 12 suchen. ...

Datenbanken
MSSQL xml Query - wie?
Frage von TiCarDatenbanken1 Kommentar

Hi, ich habe beispielhaft folgende SQL Code Ergebnis: <leer> Wenn es allerdings so aussieht: Ergebnis: <TrackingNumber>1Z99R3X96865403082</TrackingNumber> Da der XML ...

Windows Systemdateien

WMI Notofication Query Access denied 0x80041003

Frage von 124611Windows Systemdateien

Guten Abend, ich möchte auf einem unserer Domänencontroller (2012R2) gerne per "wbemtest" folgende Notification Query auslesen SELECT * from ...

Datenbanken

SQL-Query - Like Operator - Usereingabe

gelöst Frage von SchelinhoDatenbanken4 Kommentare

Hallo! Ich habe ein SQL-Script, welches als solches auf der Datenbank im SQL-Developer funktioniert. Mir geht es um eine ...

Neue Wissensbeiträge
Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 18 StundenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 4 TageniOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 4 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 6 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Heiß diskutierte Inhalte
Windows Server
Einziger Domänencontroller ersetzen - Windows Server 2012R2 - Hostname
Frage von DeRo93Windows Server29 Kommentare

Guten Tag, Leider haben wir einen Domänencontroller dessen Komponentenspeicher defekt ist. Alle Maßnahmen sind da leider fehlgeschlagen. Nun wurde ...

Server-Hardware
WS 2016 Essentials Hardware
Frage von ChefknechtServer-Hardware20 Kommentare

Moin welche Hardware würdet ihr empfehlen? Dell Poweredge HP Proliant Fujitsu Ich bin total konfus was nun nötig ist, ...

Windows Update
Fehler bei Updates über WSUS
Frage von Hendrik2586Windows Update19 Kommentare

Guten Tag liebe Kolleginen und Kollegen, lang lang ist meine letzte Anfrage her. Hier etwas das mich nun schon ...

Windows Server
Welche Option fürs Windows Server Installations besser
Frage von backitWindows Server18 Kommentare

Hi Zusammen, ich werde unserer AD (SBS 2011) und Exchange 2010 Servern auf neuen physikalischen Server umziehen. ich habe ...