Löschen eines PDM-Hosts

Hallo

Nach der Erneuerung unseres Maschinenparks haben wir mehrere Stationen, die nicht mehr verwendet werden, aber immer noch in der Liste der MyPDMTools-Task-Hosts erscheinen. Ich möchte diese Hosts löschen, um die bereits vollständige Liste nicht zu verschmutzen, und führe dazu eine SQL-Abfrage in einem VBA-Skript aus. 

Die Abfrage lautet: StrSQL = "DELETE FROM dbo. Hosts, WO dbo. Hosts.HostID = " & N_Host  (mit N_Host der Nummer des PCs, den ich löschen möchte)

Diese Anfrage funktioniert jedoch nicht, da andere Tabellen diese "HostIDs" erwähnen. Also füge ich weitere Abfragen in die Präambel dieser Abfrage ein, die am Ende ergibt (ich kopiere einfach die Abfragezeilen)

StrSQL="AUS dbo LÖSCHEN. TaskInstances WHERE dbo. TaskInstances.InitHostID =" & N_Host
StrSQL="AUS dbo LÖSCHEN. TaskHosts WHERE dbo. TaskHosts.HostID =" & N_Host
StrSQL="AUS dbo LÖSCHEN. Hosts, WO dbo. Hosts.HostID =" & N_Host

Aber eine Fehlermeldung sagt mir, dass die erste Abfrage nicht ausgeführt werden kann: "Die DELETE-Anweisung steht in Konflikt mit der REFERENCE-Einschränkung "FK_TaskSelection_TaskInstances". Der Konflikt trat in der Datenbank "XXXX", Tabelle "dbo. TaskSelection", Spalte 'TaskInstanceID' .

Ich verstehe, dass ich zuerst die TaskSelection-Tabelle bereinigen müsste, aber ich weiß nicht, wie ich die richtigen Einträge auswählen soll (diejenigen, die die TaskInstanceID erwähnen, die ich zu löschen versuche?).

Kurz gesagt, wenn jemand eine Idee oder sogar eine vollständige Frage hat, würde es mir sehr helfen.

Eine andere Lösung: Vielleicht gibt es etwas Einfacheres, als die Einträge zu löschen? Ersetzen Sie beispielsweise den Wert der HostID durch eine "leere" ID?

Danke für Ihre Hilfe.

 

Nach der Diskussion mit visiativ ist die Bedienung wirklich sehr einfach: Im SQL-Manager muss man nur die dbo-Tabelle öffnen. Hosts, und löschen Sie die Zeile, die dem Computer entspricht, den Sie löschen möchten. Getestet und validiert!

1 „Gefällt mir“

Hallo @romain.jouanny  ,

Wie löschen wir also die nutzlosen Zeilen in der dbo-Tabelle? Wirte? (NB: Ich bin kein SQL-Studio-Profi...)

Das Löschen einer Zeile hat keine weiteren Auswirkungen auf EPDM (was möglicherweise zu Fehlern führen könnte)??

 

Vielen Dank

 

Sie müssen die ganze Zeile auswählen (indem Sie auf das erste leere Feld klicken), dann mit der rechten Maustaste --> löschen.

Laut dem visiative-Sprecher, der mir live gezeigt hat, gibt es keine Auswirkungen, im schlimmsten Fall, wenn Sie einen unerwünschten Host löschen, können Sie ihn einfach wieder als Host deklarieren, indem Sie das übliche Verfahren verwenden (klicken Sie auf dem PC mit der rechten Maustaste auf den EPDM-Ball in der Taskleiste --> Task-Host-Konfiguration).

Vielen Dank @romain.jouanny für dieses Feedback.

Wenn ich also alles richtig verstanden habe, müsst ihr zur dbo-Tabelle gehen. Hosts, klicken Sie mit der rechten Maustaste und wählen Sie "Top 200 Zeilen bearbeiten",

Von dort aus zeigt SQL die in der Tabelle enthaltenen Werte an, und Sie müssen nur mit der rechten Maustaste auf das Ende der Zeile klicken und "Löschen" auswählen.

Stimmt das??

Tut mir leid, dass ich so nervig bin, aber ich ziehe es vor, meinen Rücken zu bedecken, bevor ich EPDM breche...

 

Vielen Dank.

1 „Gefällt mir“

Ja, das ist genau richtig! Ich hatte tatsächlich den Schritt "Top 200 Zeilen bearbeiten" übersprungen.

Keine Sorge um die Details, ich bin auch sehr vorsichtig, wenn es darum geht, die Basis live zu berühren!

2 „Gefällt mir“

Hallo @romain.jouanny 

Also habe ich heute Morgen angefangen und versucht, eine alte Workstation zu löschen, die noch in den PCs herumliegt, die für Aufgaben aufgelistet sind.

Ich erhielt jedoch diese wunderbare Nachricht:

Es scheint also, dass ich vor Ihrem anfänglichen Problem stehe (oder einem, das ihm sehr ähnlich sieht).

Sie sind sicher, dass Sie keine zusätzliche Arbeit unternommen haben, um die Computer aus der dbo-Liste zu entfernen. Wirte?? Wie das Löschen des Fleckenverlaufs oder eine andere Tischreinigung??

Wie das Ändern der Anzahl der Aufgabenregistrierungen, wie in Punkt 5 hier erläutert: https://www.javelin-tech.com/blog/2020/06/solidworks-pdm-monitor-tasks/ (was logischerweise dazu führen sollte, dass die Tabelle dbo.taskinstances von allen alten Aufgaben bereinigt und möglicherweise die Löschung des alten Hosts aufgehoben wird)

Vielen Dank im Voraus

 

Hallo, in der Tat liegt das wahrscheinlich an der Aufgabenhistorie, in der eine Aufgabe, die auf diesem Beitrag ausgeführt wurde, immer noch erscheint. Ich für meinen Teil beschränke diese Historie auf die letzten 400 Aufgaben, was erklären würde, warum ich dieses Problem nicht hatte.

Sie können zunächst überprüfen, ob dieser Host tatsächlich in der Aufgabenliste in der Admin-Konsole angezeigt wird, und dann die betreffenden Aufgaben löschen.

Auf jeden Fall tut es mir leid zu sehen, dass es bei dir nicht funktioniert, obwohl ich zuversichtlich war und dir gesagt habe, dass du ohne Angst  gehen sollst:( 

Hallo

Nachdem ich die Anzahl der gespeicherten Aufgaben geändert hatte, wie in Punkt 5 hier beschrieben: https://www.javelin-tech.com/blog/2020/06/solidworks-pdm-monitor-tasks/ , (ich ging auf 200 erfolgreich und 200 fehlgeschlagen), konnte ich tatsächlich meine alten unerwünschten Hosts entfernen.

Es ist zu beachten, dass die Begrenzung der Anzahl erfolgreicher und fehlgeschlagener Aufgabenregistrierungen einen unglaublichen Einfluss auf die Reaktionsfähigkeit der Aufgabenliste im EPDM-Admin-Tool hat. Es war für mich fast unbrauchbar geworden, mit Zugriffszeiten in der Größenordnung von einer Minute oder mehr, nur um eine Zeile in der Historie auszuwählen und ihre Eigenschaften zu sehen (wenn sie etwas anzeigen wollte).

Jetzt, mit einer auf 400 Einträge begrenzten Liste, finde ich ein perfekt brauchbares Tool (NB: Ich hatte vor dieser Parameteränderung 'nur' 24000 Einträge, was auch nicht riesig ist).

Nochmals vielen Dank.

1 „Gefällt mir“

Oh ja, ich glaube, das hat mich dazu bewogen, auch die Liste aufzuräumen! Gute Nachrichten, wenn es funktioniert!