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 weiterer Client-Rechner im gleichen Netzwerk wie der Serverrechner, 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
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 (Betriebsmodus 2a/2b)
DbPfad:
Pfad zur s3db-Datenbank (Betriebsmodus 1)
Addresse / Name des Servers:
Betriebsmodus 2a: [Name | IP-Adresse]\Instanzname des SqlServer, z.B.: localhost\HenaraSQL, 127.0.0.1\HenaraSQL, .\#MyComputerName#\HenaraSQL
Betriebsmodus 2b: [Name | OP-Adresse]:Port, z.B.: #ServerComputerName#:14467, 192.168.178.25:14467
nur bei Betriebsart 2:
DbUser: Anmeldename an Datenban
DbPassword: bei Initialstart (ohne Konfiguration Kundennummer) das Klartextpasswort - danach codiert
DbCatalog: Name der Datenbank
Kundennummer
Datenendpunkt
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, ist folgender Eintrag in der Konfiguration vorhanden:
<DbPfad>#Abweichender Pfad zu SmartVO.s3db#</DbPfad> <!-- optional --> <DbAnbieter>HeNaRaLocal</DbAnbieter>
Betriebsmodi 2a und 2b verweisen 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. Da diese Adressen kryptisch sind, wird oftmals eine Kommunikation über Rechnernamen bevorzugt, welche dann durch eine Namensauflösung in IP-Adressen konvertiert wird. Weiterer Vorteil einer namensbedingten Kommunikation: die durch den Router vergebene IP-Adresse ist oftmals nicht gleich (DHCP-Vergabemodus), der Name des Servers aber schon.
Fehler
Hauptproblem: fehlende Namensauflösung: Der Datenbankserver wird über seinen Namen versucht anzusprechen (siehe Konfiguration DbPfad). Diese Namensauflösung geschieht in einem DNS-Server, oftmals im Router integriert.
→ Router neu startenFalls aber nach dem Routerneustart der Server noch nicht errreicht wird, ist es ggf sinnvoller:
→ IP-Adresse des Servers statt Servernamen in DbPfad eintragen
(Die IP-Adresse erhält man durch das Aufschalten auf den Serverrechner und Öffnen des Terminalscmd.exe
. Dort den Befehlipconfig
eingeben und die IP-Adresse entnehmen, auf dem Serverrrechner kann auch alternativ 127.0.0.1 oder localhost eingetragen werden)Enthä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 Netzwerk die IPv4-SqlServer-Kommunikation. Dann das Protokoll IPv6 an der Netzwerkkarte deaktivieren