Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Inhalt
stylenone

...

Einleitung

SmartVO speichert seine Daten im Hintergrund in einer Datenbank. Hier kommen Es sind 2 Technologien zum 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:

Codeblock
languagexml
<DbPfad>#Abweichender Pfad zu SmartVO.s3db#</DbPfad>
<!-- optional -->
<DbAnbieter>HeNaRaLocal</DbAnbieter>

Betriebsart 2 verweist auf den SqlServer-Zugang:

Codeblock
languagexml
<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

Variante 1 hat keine Einschränkungen. Für Variante 2 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 /wiki/spaces/VUM/pages/1186234372 Welche technische Ausstattung benötige ich für meinen Rechner?

Mehrbenutzerzugriff

Variante Betriebsmodus 1 unterstützt keinen gleichzeitigen Mehrbenutzerzugriff. Zugriff über ein geteiltes Laufwerk führt zur kann Datenkorruption verursachen. Theoretisch ist Mehrbenutzerbetrieb in diesem Fall über Synchronisation zeitversetzt abbildbar, ist aber nicht empfehlenswert.

2 oder mehr Empfangskräfte, die sofort die Aktualisierungen des Kollegen auf einem anderen Rechner sehen wollen, sollten Variante 2 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

Info

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.

Info

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