Zugriff per ODBC auf Lexware financial office pro/premium

Der Zugriff auf die Datenbank von Lexware financial office pro oder premium ist standardmäßig nicht möglich. Alllerdings geht es mit dem hier gezeigten Vorgehen dennoch. Konkret geschieht dies, indem wir eine ODBC-Datenquelle einrichten.

Das hier geschilderte Verfahren wurde mit Lexware financial office pro 2013 bis 2017 erfolgreich getestet.

 

Achtung
Mit Lexware financial office pro 2018 und 2019 scheint, das hier beschriebene Verfahren nicht mehr zu funktionieren. Lexware hat da anscheinend etwas geändert. Wenn jemand eine Lösung hat, dann her damit.

Achtung
Auch wenn mit dem hier beschriebenen Verfahren ein Schreibzugriff auf die Lexware-Datenbank möglich ist, sollte dies nicht geschehen, da ansonsten die Integrität der Daten im komplexen Schema gefährdet ist.

Benötige Werkzeuge

  • Sybase SQL Anywhere Database Client (http://www.sybase.de/detail?id=1087327
  • SAP SQL Anywhere 16.0 Client Software (http://scn.sap.com/docs/DOC-35857)
  • Optional: Microsoft Access, OpenOffice Base oder ähnliches

Die Client-Software SAP SQL Anywhere 16.0 muss installiert werden. Auf einem 64-Bit System müssen die ODBC-Treiber sowohl für 64-Bit als auch 32-Bit installiert werden. Nach der Installation stehen nun zwei ODBC-Datenquellen-Administrationstools, je eines für 32-Bit und 64-Bit, zur Verfügung. Außerdem haben wir nun die Administrationsoberfläche „Sybase Central“.

Schritt 1: Ermitteln des Benutzerkennworts

Auf einem System, auf dem der Lexware Client eingerichtet ist, existiert auch eine ODBC-Datenquelle namens „LXSYDSN“. Mit dieser Datenquelle können wir uns mit dem globalen Teil der Lexware-Datenbanken verbinden, nicht jedoch mit den Datenbanken für die jeweiligen Firmen/Mandanten.

  1. Sybase Central starten
  2. Mit Datenbank verbinden (Schema anzeigen und bearbeiten oder eine Datenbank warten).
    Sybase Central Startseite
  3. Im Dialog „Mit einer SQL Anywhere-Datenbank verbinden“
  4. Authentifizierung: Datenbank
    Benutzer-ID: _login_
    Kennwort: 92ab346d1c02cffc
    eingeben.
  5. Aktion: „Mit einer laufenden Datenbank auf einem anderen Computer verbinden“ auswählen
  6. Auf Suchen klicken und den Server lxdbsrv auswählen
  7. Auf Verbinden klicken
    Mit einer SQL-Anywhere-Datenbank verbinden
    Die Nachfolgende Fehlermeldung „Der angegebene Benutzer hat keine DBA-Berechtigung. Einige Funktionen sind deaktiviert“ können wir einfach wegklicken und ignorieren.
  8. Nach dem Verbindungsaufbau klicken wir im doppelt auf Tabellen
    Auswahl Tabellen
    und
  9. öffnen mit einem weiteren Doppelklick die Tabelle LXG_USER. (Tipp von Stefan: Falls wir keinen Zugriff auf die Tabelle haben, öffnen wir statt der Tabelle die Ansicht/View LXG_VIEW_USER.)
  10. Im Reiter Daten können wir nun die Daten der Tabelle einsehen.
  11. Wir notieren uns den Wert für PASSWORD des Users mit USER_ID 0 in.

Schritt 2: Erstellen der ODBC-Datenquelle

Nun haben wir alle Informationen beisammen und können die ODBC-Datenquelle anlegen. Auf einem 64-Bit-System verwenden wir dafür das Tool „ODBC-Datenquellen-Administrator (64bit)“, auf einem 32-Bit-System entsprechend „ODBC-Datenquellen-Administrator (32bit)“.

Im Reiter „Benutzer-DSN“ klicken wir auf Hinzufügen und wählen den Treiber SQL Anywhere 16 aus. Nach einem Klick auf Fertig stellen öffnet sich der Dialog „ODBC-Konfiguration für SQL Anywhere“. Ins Feld Datenquellenname auf dem Reiter „ODBC“ geben z.B. Lexware ein.
ODBC-Einrichtung

Nun wechseln wir auf den Reiter „Login“. Und füllen die Felder wie folgt aus:
  1. Authentifizierung: Datenbank
  2. Benutzer-ID: U0
  3. Kennwort: Hier gehört das im Schritt 1 ermittelte Kennwort hinein.
  4. Aktion: Eine Datenbank auf einem anderen Computer starten und …
  5. Datenbankdatei: In dieses Feld muss der Pfad zur Datenbankdatei lxcompany.db der zu öffnenden Firma eingetragen werden. Dabei ist zu beachten, dass der Pfad aus Sicht des Servers, nicht des Clients gesetzt wird. (z.B. C:\ProgramData\Lexware\professional\Datenbank\F2\lxcompany.db für den zweiten Mandanten/die zweite Firma im System).
  6. Chiffrierschlüssel:
  7. Datenbankname: Analog zum Eintrag im Feld Datenbankdatei, ist hier die entsprechende Datenbank, also F1, F2, Fx einzutragen.
  8. Servername: LXDBSRV
  9. Host: DNS-Name oder IP-Adresse des Datenbankrechners im Netz
  10. Port: oder 2638

ODBC-Login-Daten

Auf dem Reiter „ODBC“ kann man nun die Verbindung testen. Ist der Test erfolgreich, schließen wir das Fenster mit OK. Uns steht nun eine neue ODBC-Datenquelle zur Verfügung, auf die wir mit Tools wie Microsoft Access, Excel, OpenOffice Base oder eigenen Programmen zugreifen können.Übersicht ODBC-Datenquellen