Batch-Ergebnis eines SQLAbfragebefehls in Variable

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 :frowning:.

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

Kein Problem