Einleitung
SmartVO speichert seine Daten im Hintergrund in einer Datenbank. Hier kommen 2 Technologien zum Einsatz:
Standard (lokal): Datenbank: Sqlite: Einzelplatzrechner oder synchronisierte Rechner ohne internes Netzwerk, nachfolgend Betriebsmodus 1
Internes Netzwerk (Mehrrechnerbetrieb): Datenbank: SqlServer(-Express) mit 2 Betriebsmodi:
direkt auf dem Serverrechner (kommt in Praxen häufig vor), nachfolgend Betriebsmodus 2a
als Client-Rechner (zusätzlich zum Server) im gleichen Netzwerk, nachfolgend Betriebsmodus 2b
Beide Varianten unterstützen Synchronisation (2-Wege Replikation) mit einer Online-Datenbank, die Voraussetzung für erweiterte Programmfunktionalität darstellt (Therapeuten-App, Praxxme, Fernzugriff per Remotedesktop).
Konfiguration der Datenanbindung
Die Konfiguration für die Datenanbindung befindet sich in der zentralen Einstellungsdatei: c:\ProgramData\HeNaRa\SmartVO\PhysioConfigurationInstance.xml
Dort sind folgende Einträge für die Datenanbindung von Relevanz:
DbAnbieter:
HeNaRaLocal (Betriebsmodus 1)
SqlServer (Betriebsart 2)
DbPfad:
Pfad zur s3db-Datenbank (Betriebsmodus 1)
Serveridentifikation (Betriebsart 2):
Betriebsmodus 2a: Server + Instanz:
[Name | IP-Adresse]\Instanzname des SqlServer
Beispiele (der Instanzname heißt meistens HENARASQL, kann aber auch SQLEXPRESS lauten;
Anmerkung: meistens ist das SqlServer-Managementstudio (SSMS.exe) auf dem Serverrechner der Praxis vorhanden. Dort kann der Zugang getestet werden):localhost\HENARASQL
127.0.0.1\HENARASQL
.\#MyComputerName#\HENARASQL
.\HENARASQL
Betriebsmodus 2b: Server + Port:
[Name | OP-Adresse]:Port
Beispiele:#ServerComputerName#:14467
192.168.178.25:14467
nur bei Betriebsart 2:
DbUser: Anmeldename an Datenbank
DbPassword: bei Initialstart (ohne Kundennummer) das Klartextpasswort - danach codiert
DbCatalog: Name der Datenbank
Kundennummer
Beispiele Datenendpunkt in PhysioConfigurationInstance.xml
Betriebsmodus 1: Im Normalfall ist der komplette Konfigurationsblock in der Einstellungsdatei nicht vorhanden. Dann wird das Vorhandensein der Datenbank in c:\ProgramData\HeNaRa\SmartVO\SmartVO.s3db
impliziert. Befindet sich die Datenbank an anderer Stelle, existiert folgender Eintrag in der Konfiguration:
<DbPfad>#Abweichender Pfad zu SmartVO.s3db#</DbPfad> <!-- optional --> <DbAnbieter>HeNaRaLocal</DbAnbieter>
Betriebsart 2 verweist auf die Zugang zum SqlServer
<DbAnbieter>SqlServer</DbAnbieter> <DbPfad>192.168.100.85</DbPfad> <DbUser>sa</DbUser> <DbPassword>d0xSq224ulYnxxYG0ItsqitnsYzXERTSXZX9QkK4VpHsBWtYWO913ZbVPFv2rU3sXMOyjcEhJfMxEwR3RCmjdU11OAofONaYtAmyi8lXPf6POoDWoi27VZufbBeSWZVe</DbPassword> <DbCatalog>12345678</DbCatalog> <Kundennummer>12345678</Kundennummer>
Einschränkungen
Verfügbarkeit
Betriebsmodus 2b: es ist es notwendig, dass der als Datenbankserver fungierende Rechner durch die anderen aktiven Rechner sichtbar ist. Der Datenbankserver sollte leistungsstark sein nach Welche technische Ausstattung benötige ich für meinen Rechner?
Mehrbenutzerzugriff
Betriebsmodus 1 unterstützt keinen gleichzeitigen Mehrbenutzerzugriff. Zugriff über ein geteiltes Laufwerk kann Datenkorruption verursachen. Theoretisch ist Mehrbenutzerbetrieb in diesem Fall über Synchronisation zeitversetzt abbildbar, aber nicht empfehlenswert.
2 oder mehr Empfangskräfte, die sofort die Aktualisierungen des Kollegen auf einem anderen Rechner sehen wollen, sollten Betriebsmodus 2b präferieren.
Sicherung (Backup)
Betriebsmodus 1 hat automatische Sicherungen im Ordner c:\ProgramData\Henara\SmartVO\backup
Betriebsmodi 2 benötigen das Einrichten einer Windows Aufgabe, welches das Sql-Sicherungsskript aus dem Installationsordner von SmartVO\Sql aufruft.
Mögliche Probleme
Beide Datenbankanbindungen sind robust hinsichtlich Datenkorruption. Damit bleiben hauptsächlich Verbindungsprobleme für die Betriebsmodi 2. Die Fehlermeldung lautet dann ähnlich wie
Fehler beim Öffnen der Datenbank … Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindung mit SqlServer
Verbindungsprobleme bei Serverbetrieb (Betriebsmodi 2)
Einleitung
Voraussetzung für Betrieb: Serverrechner und Clients müssen sich im selben Netz befinden und sich gegenseitig sehen. Dafür ist ein gleiches Subnetz Bedingung (die ersten 3 Zahlengruppen einer IP-Adresse, beispielsweise 192.168.178). Die 4. Zahl der IP-Adresse ist pro Rechner im Netzwerk unterschiedlich.
Rechner kommunizieren über eine IP-Adresse miteinander. Diese besteht aus 4 Blöcken: XXX.YYY.Z(ZZ).ID, beispielsweise 192.168.178.22 oder 192.168.1.33 und wird vom Router vergeben. Die ersten 3 Blöcke sind bei Rechnern im gleichen Netz identisch. Zum leichteren Merken wurden Namensaliase eingeführt, die dann im Hintergrund in IP-Adressen rückübersetzt werden.
Die IP-Adresse eines Rechners ist im Terminal (cmd.exe
) mit dem Kommando ipconfig
bestimmbar.
Da diese Adressen kryptisch sind, wird oftmals eine Kommunikation über Rechnernamen bevorzugt, welche dann durch eine Namensauflösung in IP-Adressen rück-konvertiert wird. Die Namensauflösung geschieht in einem DNS-Server, einer Software, die meistens im Router integriert ist.
Weiterer Vorteil einer namensbedingten Kommunikation: die durch den Router vergebene IP-Adresse ist oftmals nicht gleich, sondern dynamisch (DHCP-Addressvergabemodus, am Router einstellbar), der Name des Servers aber schon.
Fehler
Absteigende Reihenfolge in Wichtung:
Fundamental, selten vorkommend: Sicherstellen, dass der Dienst für die SqlServer-Instanz (HENARASQL) in den Diensten auf dem Server gestartet ist. Startet der Dienst nicht, muss in der Windows Ereignisanzeige der Fehler entnommen werden
Hauptproblem: fehlende Namensauflösung: Der Datenbankserver wird über seinen Namen versucht anzusprechen (siehe Konfiguration DbPfad).
→ Router neu startenFalls aber nach dem Router-Neustart der Server noch nicht erreicht wird, ist es ggf. sinnvoller:
→ IP-Adresse des Servers statt Servernamen in DbPfad eintragen
(auf dem Serverrechner kann auch alternativ 127.0.0.1 oder localhost eingetragen werden)Betriebsmodus 2b: Port-Überprüfung:
→ Port in DbPfad der Konfiguration angegeben, z.B. Serverrechner:14467 oder [Server-IP]:14467
→ Port in der Firewall des Client-Rechners freischaltenEnthält die Konfiguration DbPfad bereits eine IP-Adresse, überprüfen, ob diese die Richtige ist
→ Prüfen der Server IP-Adresse
→ selten: Teilweise stört das IPv6-Protokoll die IPv4-Server-Kommunikation. Dann das Protokoll IPv6 an der Netzwerkkarte deaktivierenselten: es kommt vereinzelt vor, dass die Konfigurationsdatei gelöscht wurde oder korrupt ist. In diesem Fall startet das System überhaupt nicht gegen den SqlServer, sondern geht in Betriebsmodus 1 über. Das sorgt für Verwirrung, da dann Daten fehlen.
→ die Konfigurationsdatei PhysioConfigurationInstance.xml aus dem Backupordner des Vortages (inc:\ProgramData\Henara\SmartVO\backup\daily
) kopieren und inc:\ProgramData\Henara\SmartVO
wiederherstellen