Einleitung
SmartVO speichert seine Daten im Hintergrund in einer Datenbank. Es sind 2 Technologien im 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 | IP-Adresse]:Port
Beispiele:#ServerComputerName#:14467
192.168.178.25:14467
nur 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 den SqlServer-Zugang:
<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
Betriebsart 2 benötigt das Einrichten einer Windows Aufgabe, welches das Sql-Sicherungsskript backup_database.vbs aus dem Installationsordner von SmartVO\Sql aufruft. Diese Aufgabe muss einmalig beim Aufsetzen des SqlServer auf dem Serverrechner eingerichtet werden. Dem Skript müssen Parameter übergeben werden:
Server nach 2a: DbPfad
Datenbank-User
Passwort
Datenbank-Name
alternativer Sicherungspfad (Verzeichnis), sonst wird nach
c:\ProgramData\Henara\SmartVO\backup
gesichert
Mögliche Probleme
Beide Datenbankanbindungen sind robust hinsichtlich Datenkorruption.
Damit bleiben hauptsächlich Verbindungsprobleme für die Betriebsart 2 als Fehlerursache.
Verbindungsprobleme bei Serverbetrieb (Betriebsart 2)
Die Fehlermeldung lautet in diesem Fall ähnlich wie:
Fehler beim Öffnen … Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindung mit SqlServer
Einleitung
Voraussetzung für den Betrieb: Serverrechner und Clientrechner müssen sich im selben Netz befinden und 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 (Subnetz) 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, ist eine Kommunikation über Rechnernamen bevorzugt, welche intern per Namensauflösung in IP-Adressen rück-konvertiert wird. Die Namensauflösung übernimmt eine DNS-Serversoftware, 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 und Behebung
Absteigende Reihenfolge in Wichtung:
selten: fundamental: Sicherstellen, dass der Dienst für die SqlServer-Instanz (HENARASQL) in den Serverdiensten startet. Falls nicht:
→ Fehler der Windows-Ereignisanzeige entnehmen und Support von Henara übergebenHauptproblem: fehlende Namensauflösung: Der Datenbankserver wird über seinen Namen angesprochen (Konfiguration DbPfad).
→ Router neu startenFalls nach dem Router-Neustart der Server nicht erreicht wird, ist es ggf. sinnvoller:
→ IP-Adresse des Servers statt Servernamen in DbPfad eintragen
(auf dem Serverrechner ist alternativ 127.0.0.1 oder localhost eintragbar)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-Kommunikation. IPv6 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
wiederherstellenselten: fehlerhafte Konfiguration der Zugangsdaten → Zugangsdaten korrigieren:
DbPassword ist verschlüsselt, aber Kundennummer nicht angeben oder falsch: Fehler bei der Anmeldung für den Benutzer
DbPassword ist Klartext, aber Kundennummer auch in der Konfiguration vorhanden: The input is not a valid Base-64 string