Skip to content
This repository has been archived by the owner on Jun 8, 2022. It is now read-only.

Technischer Hintergrund

Mark Junker edited this page Oct 12, 2015 · 5 revisions

Voraussetzungen

Für den Zugriff auf die Lexware-Datenbank werden die Sybase SQL Anywhere ADO.NET-Treiber benötigt. Diese können von der SAP-Webseite für den SAP SQL Anywhere Database Client Download geladen werden. Die Bibliothek wurde mit der Version 12 getestet.

Verbindungsaufbau zur Datenbank

Damit die Datenbank bei Bedarf gestartet werden kann (damit der Lexware-Client nicht gestartet sein muss), wird in der Verbindungszeichenfolge zusätzlich zum Datenbank-Namen auch die Datenbank-Datei angegeben.

Pfade zu den Lexware-Datenbanken

Die Lexware-Datenbanken befinden sich üblicherweise im, bzw. unterhalb des Ordners c:\ProgramData\Lexware\professional\Datenbank\.

Die globale (nicht firmenspezifische) Datenbank befindet sich im o.g. Ordner und hat den Namen LXOffice.db.

Die firmenspezifische Datenbank befindet sich in einem Unterordner. Der Name des Unterordners ist in den Firmen-Informationen in der globalen Datenbank gespeichert (Entität Firma, Eigenschaft Path) und hat den Namen LxCompany.db.

Ermittlung des Superuser-Passworts

Zuerst öffnen wir eine Verbindung zur globalen Datenbank mit den Anmelde-Informationen _login_ als Benutzernamen und 92ab346d1c02cffc als Passwort (_login_ verschlüsselt).

Dort können wir dann aus der Tabelle LEXGLOBAL.LXG_USER den Datensatz mit der USER_ID 0 auslesen und haben dort direkt das Passwort stehen.

Das Passwort selbst steht verschlüsselt in der Datenbank. Der Schlüssel für die Ver- bzw. Entschlüsselung scheint immer LEXWARE zu sein.

Ermittlung des Superuser-Login-Namens

Der Superuser-Name ergibt sich aus einem U und der angehängten Benutzer-ID (USER_ID). Im Falle des Superusers also U0.

Verbindung zur Datenbank als ein bestimmter User

Zur Verbindung zu einer Datenbank verwenden wir den Login-Namen (wie z.B. oben für den Superuser ermittelt) und seinem Passwort.