Datenanbindung

 

 

 

 

 


Einleitung

SmartVO speichert seine Daten im Hintergrund in einer Datenbank. Es sind 2 Technologien im Einsatz:

  1. Standard (lokal): Datenbank: Sqlite: Einzelplatzrechner oder synchronisierte Rechner ohne internes Netzwerk, nachfolgend Betriebsmodus 1

  2. Internes Netzwerk (Mehrrechnerbetrieb): Datenbank: SqlServer(-Express) mit 2 Betriebsmodi:

    1. direkt auf dem Serverrechner (kommt in Praxen häufig vor), nachfolgend Betriebsmodus 2a

    2. 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:

    1. Server nach 2a: DbPfad

    2. Datenbank-User

    3. Passwort

    4. Datenbank-Name

    5. 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 gibt es Namensaliase, die dann im Hintergrund in IP-Adressen ü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 übergeben

  • Hauptproblem: fehlende Namensauflösung: Der Datenbankserver wird über seinen Namen angesprochen (Konfiguration DbPfad).
    Router neu starten

  • Falls nach dem Router-Neustart der Server nicht erreicht wird, ist es ggf. sinnvoller:
    IP-Adresse des Servers statt Servernamen in DbPfad eintragen, auf Serverrechner ist auch 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 freischalten

  • 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-Protokoll die IPv4-Kommunikation. IPv6 der Netzwerkkarte deaktivieren

  • selten: 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 (in c:\ProgramData\Henara\SmartVO\backup\daily) kopieren und in c:\ProgramData\Henara\SmartVO wiederherstellen

  • selten: 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

 

Weitere wertvolle Hinweise finden Sie auf der Website: https://henara.de/unterstuetzung