Frage zu "Set software installed"

Alle Fragen rund um die ACMP Client Commands
Antworten
kratz
Beiträge: 33
Registriert: Di Sep 02, 2008 8:40 am

Hallo zusammen,

eine kleine Frage zum "Set software installed" Befehl.

die Funktionsweise mit True und False ist ja soweit ganz OK und logisch.

Ich würde aber gerne statt eine Software nach dem Uninstall auf "False" zu setzen den Eintrag für die Software in der DB komplett löschen. Da der Befehl diese Option leider nicht bietet muss da wohl eine SQL Query herhalten. Wie müsste diese denn aussehen?

Danke vorab.

MFG

M. Kratz
RKorth
Beiträge: 15
Registriert: Do Mär 08, 2007 5:10 pm

Hallo Herr Kratz,

löschen Sie bitte nichts aus der Tabelle "SYS_SW_CLIENTCOMMANDS" ohne vorbereitende Massnahmen wie unter anderem
a) überprüfen, dass die Software in keinem Query-Filter benutzt wird
b) in keinem Lizenzpaket im Lizenzmanagement benutzt wird.

ACMP sieht das Löschen von normalisierten Software-Daten momentan noch nicht vor. Um Seiteneffekte zu vermeiden, bitte nur die Client-spezifischen Daten löschen.
Und das erfragen Sie ja auch.

Das kann man in der Tabelle "CLT_SW_CLIENTCOMMANDS_RESULTS" tun:
Versuchen Sie es im MS Management Studio mit dem unten stehenden Code (falls Sie Hilfe zur Vorgehensweise benötigen, können Sie sich gerne mit unserem Support in Verbindung setzen):

Code: Alles auswählen

DELETE FROM CLT_SW_CLIENTCOMMANDS_RESULTS
FROM
	CLT_SW_CLIENTCOMMANDS_RESULTS cr inner join SYS_SW_CLIENTCOMMANDS cc
	on cr.SWID = cc.SWID
WHERE (cc.SWName = 'TestSoftware') 
-- AND (cr.Result <> 1)
ACHTUNG: Das doppelte "FROM" ist kein Tippfehler!

Sie sollten im TSQL-Code in der Where-Klausel den Namen Ihres Client Commands (CC) anpassen, jenes CC, das die Software auf dem Client als installiert setzt (Set Software Installed). Ich vermute mal, dass Sie kein CC namens 'TestSoftware' haben ;-)
Wenn Sie verhindern wollen, dass Sie versehentlich einen Eintrag löschen, obschon die Software installiert ist (Result = 1), können sie die Konjunktion (logisches UND) der Where-Klausel aktivieren, indem Sie die beiden Bindestriche aus dem Code herausnehemen (das sind Kommentierungtags).

Beste Grüße aus Soest und schönes Wochende
kratz
Beiträge: 33
Registriert: Di Sep 02, 2008 8:40 am

Hallo Hr Korth,

danke nochmal für das freundliche Gespräch.

Da nun alles so funktioniert wie ich mir das wünsche hier noch für den nächsten mit ähnlichen Wünschen die Query und Ihnen ein schönes Wochenende.

Löscht den Eintrag unter SWName in den Details des ausführenden Clients wenn das Result auf 0 steht (Version für Ausführung aus einem Client Command):

Code: Alles auswählen

DELETE FROM CLT_SW_CLIENTCOMMANDS_RESULTS
FROM
   CLT_SW_CLIENTCOMMANDS_RESULTS cr inner join SYS_SW_CLIENTCOMMANDS cc
   on cr.SWID = cc.SWID
WHERE (cc.SWName = 'Softwarename') 
AND (cr.Result = 0)
AND (cr.clientID = '%ACMPCLIENTID%')
Antworten