Das hängt auch von Anwendungsfall ab. Lieferst du selber eine SPS mit PC-Anwendung und Datenbank, dann würde ich sagen könnte man es machen direkt von der SPS in die Datenbank zu schreiben - warum auch immer. Dann würde ich mir natürlich ein Datenbanksystem aussuchen bei den die Schnittstellen offengelegt sind.
Lieferst du eine Maschine an einen Kunden und musst dort Daten aus einer bestehenden Datenbank abrufen oder dort ablegen, dann ist es meiner Meinung nach generell keine gute Idee, dass jeder direkt mit der Datenbank kommuniziert. Ob dieses nun direkt von der SPS aus oder über eine Drittanwendung auf dem PC macht dabei keinen Unterschied. Da ist hier zumindest der Vorteil bei der SPS-Variante direkt, dass du auf dem Kunden-PC nichts installieren musst (was nicht selten überhaupt nicht erlaubt wird). Du müsstest also dann vermutlich noch einen extra PC installieren worauf diese Software eingerichtet wird, was auch alles gewartet werden muss.
Generell würde es meiner Meinung nach eher dem Stand der Technik entsprechen, wenn nicht jeder direkt mit der Datenbank kommunizieren darf, sondern dieses über eine Abstraktionsebene z.B. in Form eines Webservice (SOAP, REST, JSON, etc.) geschieht. Wenn http ohne s zum Einsatz kommt, lässt sich das auch halbwegs problemlos in der SPS realisieren.