Hallo liebe Expertin lieber Experte,
ich habe folgendes Problem:
Ich möchte mittels Batch eine SQLabfrage machen, das ist auch nicht das Problem. Nur möchte ich jetzt das Ergebnis dieser Abfrage in einer Variable speichern, damit ich es weiter verarbeiten kann, also z.b. Vergleichen.
Hier ist der Code der Abfrage:
C:\xampp\mysql\bin\mysql.exe -h Benutzer --password=PASSWORT -h SERVER -D DATENBANK
Hallo Ascawath,
Zunächsteinmal - SQL ist nicht mein Thema.
Um eine Umgebungsvariable dynamisch (=berechnet) zu setzen, brauchst du ein BatchFile, das zur Laufzeit konstruiert wird:
1.) Erstmal einen Stub erzeugen:
echo set MyVar= > SetMyVar.bat
Es entsteht eine Datei mit dem Inhalt „set MyVar=“[CR+LF]
[CR+LF] steht hier für die Zeichen 13 und 10
2.) Du mußt ein kleines Programm auf die Datei loslassen, daß die ZeilenendeMarkierung entfernt. Diese Programm muß Du anders programmieren, zBsp. in C. Mit Batch sehe ich keine Möglichkeit. Das sieht dann etwa so:
RemoveCR SetMayVar.bat
Resultat: „set MyVar=“
3.) Anfügen des Ergebnisses der SQL-Abfrage:
mysql.exe (optionen) >> SetMyVar.bat
Resultat: „set MyVar=(Ergebnis der Abfrage)“
4.) Nun kannst Du dieses BatchFIle aufrufen und so die EnvirunmentVariable mit dem Wert laden:
call SetMyVar.bat
Das wars.
Nicht ganz einfach, aber möglich. Ich kenne Deine Anwendung nicht, aber bist Du sicher, daß der Weg über ein BatchFile dieser Art der sinnvollste Weg ist?
Gruß,
Kurt
Danke für deine schnelle Antwort.
Ich werde sie auf jeden Fall ausprobieren.
LG Ascawath
Sorry,
da kann ich nicht helfen.
mfg Estebanoo
Danke für deine schnelle Antwort.
LG Ascawath
Sorry,
da kann ich nicht helfen.
mfg Estebanoo
Hallo Ascawath ,
leider kann ich dir bei SQL Anfragen gar net weiterhelfen da ich zwar nen dickes buch hier habe aber dieses noch nicht mal aufgeschlagen habe bisher
.
ich hoffe das dir ein anderer helfen kann
gruß
daniel
Wie wäre es mit folgender Lösung:
Das Ergebnis der SQL-Abfrage in eine Datei umleiten:
C:\xampp\mysql\bin\mysql.exe -h Benutzer --password=PASSWORT -h SERVER -D DATENBANK „%temp%\mysql.tmp“
Anschließend den Inhalt der temporären Datei in eine Variable einlesen:
Set /p myvar=
Hi,
sorry, das ich deine Frage erst jetzt gelesen habe. Ich kämpfe noch mit der Googlemailbox.
Meinst du so etwas:
@echo off
set variable1=dies ist ein Test
echo %variable1%
also in deinem Fall:
@echo off
set variable1=C:\xampp\mysql\bin\mysql.exe -h Benutzer --password=PASSWORT -h SERVER -D DATENBANK
Hallo,
sorry, dass ich nicht geantwortet habe.
War nicht die feine Art von mir.
Hoffe, Du hast das Problem inzwischen gelöst.
Gruß
Rolf