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.
- Sybase Central starten
- Mit Datenbank verbinden (Schema anzeigen und bearbeiten oder eine Datenbank warten).
- Im Dialog „Mit einer SQL Anywhere-Datenbank verbinden“
- Authentifizierung: Datenbank
Benutzer-ID: _login_
Kennwort: 92ab346d1c02cffc
eingeben. - Aktion: „Mit einer laufenden Datenbank auf einem anderen Computer verbinden“ auswählen
- Auf Suchen klicken und den Server lxdbsrv auswählen
- Auf Verbinden klicken
Die Nachfolgende Fehlermeldung „Der angegebene Benutzer hat keine DBA-Berechtigung. Einige Funktionen sind deaktiviert“ können wir einfach wegklicken und ignorieren. - Nach dem Verbindungsaufbau klicken wir im doppelt auf Tabellen
und - ö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.)
- Im Reiter Daten können wir nun die Daten der Tabelle einsehen.
- 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.
- Authentifizierung: Datenbank
- Benutzer-ID: U0
- Kennwort: Hier gehört das im Schritt 1 ermittelte Kennwort hinein.
- Aktion: Eine Datenbank auf einem anderen Computer starten und …
- 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).
- Chiffrierschlüssel:
- Datenbankname: Analog zum Eintrag im Feld Datenbankdatei, ist hier die entsprechende Datenbank, also F1, F2, Fx einzutragen.
- Servername: LXDBSRV
- Host: DNS-Name oder IP-Adresse des Datenbankrechners im Netz
- Port: oder 2638
Mit der Version 2018 hat sich in der Lexware DB Anmeldeprozedur einiges verändert. Kennt jemand die neuen Login Daten?
Hallo.,
Dein Hinweis hat über die Jahre bis zur Version 2017 super funktioniert. Gibt es Hinweise, was Lexware ab der Version geändert hat? Es scheint als ob es eine andere Tabelle für die User gibt, da neue User nicht mehr in der Tabelle LXG_User angezeigt werden.
Gruß
Michael
In der neuesten Version (Juni 2018) sind die Einträge in der Passwortspalte irgendwie vercryptet (unleserlich). Auch existiert in meiner DB der User_View nicht? gibt es eine andere Möglichkeit an das Passwort zu kommen?
Hallo ,
hat man für den Zugriff auf LxCatalog.* zwischenzeitlich eine Lösung gefunden ?
Viele Grüße,
Ralf
Da kann ich Dir leider auch nicht helfen. Zunächst musst Du das Datenmodell verstehen. Dazu würde ich versuchen für die relevanten Tabellen ein ER-Diagramm zu bauen. Daraus könnte man dann die relevante Schritte ableiten.
Was für Daten willst Du denn genau importieren? Was genau meinst Du mit 5 Firmenordnern? Wie liegen Dir die Daten vor, die Du in die Datenbank bringen willst?
Was genau soll ich denn versuchen? Das war doch meine Frage 🙂
Nun ja, dann musst Du das wohl mal versuchen. Aber wie gesagt: Das Datenmodell macht keinen Spaß. Die Tabellen haben umfzig Spalten und es wird anscheinend viel Ballast aus alten Versionen mitgeschleppt. Also mach ein Backup und leg los. Ich drücke Dir die Daumen.
Danke Christoph,
welchen Weg ausser den Support zu bemühen gibt es denn? Der Support schien mir im ersten Anlauf nicht fähig mir zu helfen. Letzten Endes ist es ja eine SQL Datenbank. Da muss doch was zu machen sein, dass Lexware diese paar Datensätze wieder einbindet.
Hallo Max,
ich habe das soeben nochmal getestet (mit Excel 2010). Das hat bei mir funktioniert:
1. Daten > externe Daten abrufen > aus anderen Quellen > Von Microsoft Query
2. Im Reiter Datenbanken die angelegte Datenquelle (in meiner Beschreibung ist das „Lexware“) auswählen > OK
3. Nun sollten die Tabellen erscheinen und man kann sich seine Abfrage zusammenbauen.
4. Das Ergebnis der Abfrage wird dann in Excel dargestellt.
Hallo Rainer,
bei funktioniert der gleichzeitige Zugriff. Vielleicht blockiert das System aber bei der Überschreitung der maximalen gleichzeitigen Benutzer (je nach Lexware-Lizenz). Ist aber nur geraten.
Hmmm… Hast Du es mal mit Access probiert.
Hallo Andreas,
das habe ich noch nie getestet. Vielleicht weiß ja jemand anderes, wie man das unter Linux hinbekommt.
Hallo Jan,
das kann ich Dir leider nicht beantworten. Mit so einer alten Version habe ich nie gearbeitet.
Hi Rob,
das ist theoretisch möglich. Ich kann aber nur davon abraten. Das Datenbankmodell ist sehr komplex und nicht so einfach zu durchschauen. Da würde ich lieber den Lexware-Support bitten zu unterstützen.
Hallo,
gibt es denn eine Möglichkeit Firmendaten in die Datenbank zu bekommen? Ich habe 5 Firmenordner, die Lexware nach einer Datenbankaktualisierung nicht wieder eingelesen hat. Ich habe allerdings keine Möglichkeit gefunden diese wieder in die Datenbank zu bekommen.
Gibt es auch eine Möglichkeit an die Lexware Datenbank aus Version 2010 (Datenbankversion 9) ranzukommen? Dieses Tool kann erst ab v12 darauf zugreifen.
Hallo,
super Anleitung. Habe es auf Windows 10 mit Lexware Warenwirtschaft Pro auf Anhieb hinbekommen.
Nun wollte ich es aber auch auf Linux einrichten, damit ich mit den Rohdaten mittels PHP und Apache2 arbeiten kann. Scheitere aber daran, dass ich unter dem Port 2638 nur die globale Sybase Datenbank erreiche (Schritt 1 der Anleitung). Wie ich aber die Firmendatenbank starte, ist mir noch schleierhaft. Benutze unixODBC mit FreeTDS. Hat vielleicht jemand ne Ahnung?
Gruß
Hallo
ich habe auch das gleiche Problem, ich bekomme keine Verbindung mit Excel zur Datenbank
„[DBNETLIB][ConnectionOpen (Connect()).]SQL Server existiert nicht oder Zugriff verweigert.
ODBC eingerichtet. Test erfolgreich. Mit Excel lauft es aber nicht. Dort mache ich als Servername: LXDBSRV (wie in ODBC) und in Anmeldeinformation „windows zugrifrechte verwenden“. Was mache ich falsch?
Kann es sein das der Zugriff per ODBC nur Funktioniert wenn keiner Lexware mit der Firma offen hat? Hatte es vorher mit einer Testfirma getestet und da lief alles. Aber mit der Produktiven Firma sagt er mir das die Datenbankdatei bereits verwendet wird.
Kann man dieses irgendwie umgehen? So das ich per ODBC rein komme obwohl jemand Lexware offen hat?
Prima, das freut mich.
Hallo Christoph,
ich habe es jetzt hinbekommen. In Excel muss ich nicht mehr das Lexware Passwort eingeben. Ich musste als das Loginfenster kam auf den Reiter „Windows“ und „aktuelle Windowslogin Daten“ verwenden anklicken. Dann hat es geklappt.
Hallo Denis,
das verstehe ich ehrlich gesagt nicht. Hast Du die Anleitung genau nachvollzogen. Du muss das Kennwort für einen User (z.B. den Supervisor) erst ermitteln und dann mit diesen Daten den ODBC-Datenquellen-Eintrag vornehmen. Dann sollte es auch klappen.
Hallo,
erstmal danke für die Anleitung. Es hat alles soweit geklappt. Nur wenn ich in Excel mich mit der DB verbinden will, fragt er nach einem User und Passwort. Ich habe mehrere Benutzer und Passwortkombis versucht, auch Supervisor mit dem verschlüsseltem PW, als auch as Passwort in Klartext eingegeben. Es kommt jedesmal eine Fehlermeldung. Gebe ich „Benutzer-ID: _login_
Kennwort: 92ab346d1c02cffc“, komme ich zwar auf die DB, aber natürlich bekomme ich nur Zugriff auf die globalen Tabellen.
Gruß
Artikel auf den neuesten Stand gebracht und mit Lexware Financial Office Premium 2017 (Version 17.05) getestet.
Hmmm… Keine Ahnung was da schief läuft. Sorry, kann ich auch nicht beantworten. Welche Lexware Version benutzt Du denn? Die aktuelle V17.03? Mit der habe ich noch nicht getestet.
Hallo zusammen,
das Einrichten und der Verbindungstest funktioniert. Wenn ich nun in Excel eine Verbindung herstellen möchte, erhalte ich folgenden Fehler: „Es konnten keine Tabellenlisten von der Datenquelle bezogen werden“
Öhm… Die Fehlermeldung klingt für mich so, als ob Du auf einen MSSQL-Server zugreifen willst und nicht auf die erzeugte ODBC-Verbindung zur Lexware-Datenbank (SQL Anywhere).
Sorry, keine Idee. Habe ich noch nie bekommen. Vielleicht weiß es ja jemand anderes.
Hallo alle zusammen,
ich möchte mich mit einer Datenbank der Version 9 verbinden. Leider gibt es beim Fertigstellen des unloads einen Fehler. lxoffice.db konnte nicht gestoppt werden. Hat jemand eine Idee.
Hallo
alles bestens funktioniert (Test erfolgreich) aber leider bekomme ich nun keine Verbindung mit Excel zur Datenbank 🙁
„[DBNETLIB][ConnectionOpen (Connect()).]SQL Server existiert nicht oder Zugriff verweigert.
Herzlichen dank für die Anleitung, das allererste mal mit Lexware in Berührung gekommen und hat gleich funktioniert! Danke für die Mühe!
Hallo Klaus,
das kann ich Dir leider auch nicht sagen. Bei mir funktioniert das. Dass die DB lokal liegt, sollte „eigentlich“ keine Auswirkungen haben. Was bekommst Du denn für Fehlermeldungen? Hast Du irgendwelche weiteren Infos für mich?
Christoph
Ich habe LFO Pro 2016 auf einem Notebook.
Das U0 Passwort konnte ich auslesen.
Aber anschließend die ODBC Quelle einrichten funktiniert nicht. Der LXDBSRV wird nicht gefunden. Der Datenbankdienst von LFO läuft.
Was mache ich da falsch?
Funktioniert auch im Jahr 2016 noch immer genau so.
Gut, SQLAnywhere ist jetzt (08.02.2016) auf der Version 16 (statt 12), und beim Ermitteln des Login-Passworts müssen ein paar Einstellungen entsprechend der eigenen Infrastruktur angepasst werden, wer damit jedoch überfordert ist, der sollte sich nicht via ODBC mit seiner Datenbank verbinden wollen. Das ist nämlich wirklich nichts für Jeden.
Aber, und das ist das tolle: diese geniale Beschreibung funktioniert super! Danke für die Recherche sowie für die Zeit und den Aufwand, das im Netz zu pflegen.
Hmmm… das habe ich mir noch gar nicht angesehen. Dazu kann ich derzeit nichts sagen, sorry.
Hallo Claus,
das sollte eigentlich genauso funktionieren, wie bei einem dedizierten Server. Wo liegt denn das Problem?
Christoph
Hallo,
super Anleitung. Dankeschön! Funktionert auch soweit, nur werden bei uns die Daten vor 2015 redundant angezeigt. Das hat wahrscheinlich auf die Umstellung der Auftragsnummer (länger) zu tun, oder?
Hallo zusammen,
kann mir einer sagen, wie das auslesen des usernamens bei einer lokalen Installation funktioniert, d.h der Client ist gleichzeitig der Server. Da komme ich einfach nicht weiter.
Vielen Dank im Vorwege
Also bei mir funktioniert das auch direkt mit der Tabelle, ohne dass ich die View nutzen muss.
Das Passwort des Lexware Users Supervisor ließ sich per OpenOffice bei unserer Lexware WaWi 2016 nicht in der Tabelle LEXGLOBAL.LXG_USER auslesen (Fehler: Dateninhalten konnten nicht geladen werden).
Dafür unter LEXGLOBAL.LXG_VIEW_USER
Danke für die Tipps!
Vielen Dank für die tolle Anleitung, die bei Lexware 2015 super funktioniert hat. Knifflig ist natürlich, das Datenmodell von Lexware reverse zu engineeren, aber werd die ODBC-Verbindung zu seinem Datenbankserver haben will, sollte das wissen.
Hallo,
vielen Dank für die super Anleitung.
Ich habe mehrere Mandanten (F4, F5, F6 und F8). Die Einrichtung für F4 funktioniert ohne Probleme („Verbindung erfolgreich“). Wenn ich aber jeweils eine weitere ODBC Datenquelle für die anderen Mandanten anlege, heißt es: „Verbindung fehlgeschlagen: Angegebene Datenbank konnte nicht gestartet werden: Zugriff verweigert.“
Hintergrund: Ich habe eine Access Datenbank, die Tabellen aus mehreren Mandanten gleichzeitig verknüpft. Damit das funktioniert, ist für jeden Mandant eine eigene ODBC Datenquelle einzurichten.
Hat jemand ein Tipp?
Vielen Dank für die Beschreibung. Ein Nachtrag: die Sybase Download Seite ist seit dem 15.12.2014 nicht mehr erreichbar, das Produkt heißt jetzt SAP SQL Anywhere 12.0.1 und ist unter http://scn.sap.com/docs/DOC-35857 verfügbar.
Hmmm… ich habe mir das mal angeschaut, habe es aber noch nicht geschafft Zugriff auf diese DB zu bekommen. Sorry.
Hallo Christoph,
die Katalogdateien findest Du unter LxCatalog.* im Datenbankverzeichnis. Diese enthalten Artikel, die über die Datanorm-Schnittstelle importiert wurden.
Und auf die hätte ich gerne Zugriff, da ich die Artikeldatenbank nicht „zumüllen“ möchte.
Viele Grüße,
Uwe
Hallo Uwe,
was meinst Du denn mit Katalogdateien? Erklär mal.
Beste Grüße
Christoph
Hallo,
super Anleitung!
Gibt es so eine Anleitung auch für den Zugriff auf die Katalogdateien von Lexware?
Vielen Dank
Grüsse Uwe
Es gibt eine Lösung, die schnell und einfach zu realisieren ist. Mit dem Tool „LX Connect“ wird ein Benutzer in der Lexware-Datenbank angelegt und eine ODBC-Datenquelle eingerichtet. Das Tool ist zwar kostenpflichtig, spart aber Zeit und Nerven – für alle, die es eilig haben (www.lxconnect.de).
Hallo,
dieser EIntrag hat mir schon weitergeholfen.
Vielen Dank schonmal dafür jedoch kriege ich die Datenbank nur per Acess geöffnet und das Passwort des Supervisors wird nicht annerkannt :(.
Wenn ich die Datenbank mit Sysbase öffnen möchte dann stürtzt das Programm immer ab (32 Bit sowie 64 Bit).
Lexware läuft in der VErsion 2011 auf einem Windows Sevrer 2008 aber die Datenbank lässt sich anscheinend nicht korrekt öffnen :(.
Vielleicht kann mir hier jmd noch helfen 🙂
Vielen Dank
Thorben
Herzlichen Dank für Ihre Arbeit. Genau das suchte ich, weil die Nutzer von Lexware Produkten oft mit tieferen Problemen keine Support-Unterstützung erhalten. Wie soll es auch gehen, wenn die Support-Mitarbeiter in Rumänien (oder Bulgarien?) angesiedelt sind und max. 2-3 Jahre Erfahrungshorizont besitzen. Insofern sind wir auf die Hilfe im Internet von Usern zu Usern angewiesen. Nochmals herzlichen Dank!