WinCC TIA WinCC RT Advanced V17 ODBC Konfiguration auf Windows Server 2019

hackaria

Level-1
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
ich möchte mit WinCC RT Advanced V17 Variablenarchive in einen lokal installierten SQL Server schreiben. Die Konfiguration habe ich wie in der Siemens Beispiel-Doku beschrieben, vorgenommen. In meiner Entwicklungs-VM mit Windows 10 Pro klappt das Einlesen und Schreiben der Werte von den PLCs in die Datenbank wie gewünscht.
Auf dem Produktivsystem, einem Windows Server 2019 habe ich allerdings Probleme mit der lokalen ODBC-Verbindung.
In der Konfiguration des ODBC-Treibers wird Anmeldung am SQL-Server nicht über die "Windows NT authentication", sondern über die "SQL-Server authentication" vorgenommen. Die Verwendung eines lokalen Windows-Benutzerkontos zum Zugriff auf die Datenbank soll wenn möglich vermieden werden.
Der entsprechende DB-User ist mit den allen nötigen Rechten im SQL-Server angelegt, genau wie in der Entwicklungs-VM. Beim Start des HMI-Projektes erscheint im Meldefenster jedoch die Fehlermeldung "ODBC(ADO)-Fehler: Keine Archivierung in Archiv... möglich".
Um die Runtime auszuschließen, habe ich versucht die Verbindung über ein Powershell-Script zu testen:

PHP:
$conn = New-Object System.Data.Odbc.OdbcConnection
$conn = ConnectionString = "DSN=WinccOdbcDataSource"
$conn.Open()

In der Entwicklungs-VM funktioniert das Script fehlerfrei, auf dem Server 2019 kommt es zur Fehlermeldung "[SQL Server] Login failed for user ''. "
Erst wenn ich auf dem Server 2019 den Connection String um die User-Credentials erweitere, funktioniert die Verbindung:

PHP:
$conn = New-Object System.Data.Odbc.OdbcConnection
$conn = ConnectionString = "DSN=WinccOdbcDataSource;UID=wincc;PWD=p@sswd"
$conn.Open()

Hat irgendwer eine Idee an was das liegen könnte? Gibt es vielleicht eine lokale Gruppenrichtline, mit der man ODBC noch weiter konfigurieren kann? Die gängigen ODBC-Tipps aus der Google-Suche habe ich auch bereits durch...
Leider kann man in TIA bei der Archivkonfiguration nur den DSN eintragen, ohne User ID und Passwort...
 
Hallo nochmals,
in der Zwischenzeit habe ich eine funktionierende Lösung gefunden: Ich habe einen dem aktuell angemeldeten Windows-User entsprechende Berechtigungen im SQL-Server gegeben und den ODBC-Treiber auf Windows-Authentication umgestellt.
Da in der Entwicklungs-VM der lokale Windows-User die gleichen Berechtigungen im SQL-Server hat, wie der zusätzlich angelegte SQL-User, scheint der ODBC-Treiber zu versuchen die Verbindung mit dem aktuellen Windows-User aufzubauen, wenn dem Connection-String keine Anmeldedaten mitgegeben werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,
wir sind bei uns auf ein ähnliches Problem gestoßen oder so hört es sich zumindest an.
Wir versuchen mit der HMI bestimmte Werte in eine SQL-Datenbank zu schreiben. Bei unseren Versuchen ist es uns gelungen mit der simulierten HMI und mit MS SQL Daten abzuspeichern, funktioniert sogar ziemlich gut. Jetzt soll dies auch auf der physischen HMI funktionieren, also alles übertragen, jedoch wird beim abspeichern der Daten ein Fehler angezeigt.

"Fehler 'ActiveX component can´t create object: 'ADODB.Connection" in Skript <VBFunktion_1> in Zeile 140.

Unser VBSkript

PHP:
'Connection with SQL   //Kommentar
strconnectionstring = "Provider=MSDASQL;DSN=PLC;UID=plc;PWD=9kKu7678ZBD5"

PHP:
'Set connection with the SQL //Kommentar
Set objconnection = CreateObject("ADODB.Connection")
objconnection.ConnectionString = strconnectionstring 'SQL
objconnection.Open 'Open de SQL

Set objeconnection = CreateObject("ADODB.Connection") ist Zeile 140. Jetzt ist die Frage, funktioniert das überhaupt über die HMI?
 
Zurück
Oben