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 und 2014 erfolgreich getestet.

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 12.0.1 (http://scn.sap.com/docs/DOC-35857)
  • Optional: Microsoft Access, OpenOffice Base oder ähnliches

Der SQL Anywhere Database Client SAP SQL Anywhere 12.0.1 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).
  3. Im Dialog „Mit einer SQL Anywhere-Datenbank verbinden“
    Authentifizierung: Datenbank
    Benutzer-ID: _login_
    Kennwort: 92ab346d1c02cffc
    eingeben.
  4. Auf Suchen klicken und den Server lxdbsrv auswählen
  5. Auf Verbinden klicken
  6. Nach dem Verbindungsaufbau klicken wir im Reiter Inhalt nun doppelt auf Tabellen und
  7. öffnen mit einem weiteren Doppelklick die Tabelle LEXGLOBAL.LXG_USER. (Tipp von Stefan: Falls wir keinen Zugriff auf die Tabelle haben, öffnen wir die View LEXGLOBAL.LXG_VIEW_USER.)
  8. Im Reiter Daten können wir nun die Daten der Tabelle einsehen.
  9. Wir notieren uns das für den User mit USER_ID 0 in PASSWORD hinterlegte Kennwort.

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 12 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.

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

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, OpenOffice Base oder eigenen Programmen zugreifen können.