EleLa - Elektronik Lagerverwaltung Hilfe

Tutorial - Einrichten MsSQL Datenbank

Dieses Tutorial zeigt wie man ein MsSQL Datenbank für EleLa einrichtet.

Benötigte Tools / Vorbereitung:

Beispiel für Tools die unter Windows funktionieren:

  • MsSQL Datenbankserver ab Version 2017 (V14.x)
  • Datenbanktool Microsoft SQL Server Management Studio (SSMS)
  • Sql Server Configuration Manager (wird mit dem SQL Server mit installiert)
  • DLL "sybdb.dll" (je nach EXE in 32-Bit oder 64 Bit)

Die einzelne Schritte die nötig sind:

  1. Installieren der MsSQL Datenbank lokal oder auf einem Server sowie installation vom SSMS.
  2. "Download Microsoft OLE DB Driver for SQL Server".
  3. Einrichten Datenbankzugang für EleLa (User / Passwort)
  4. Erstellen der Datenbank mittels EleLa
  5. Importieren/übernehmen bestehender Daten von SQLite

Vorbereitung der Datenbank:

Der Microsoft SQL Server muss so installiert werden wie in der Anleitung von Microsoft beschrieben ist.

Sql Server Configuration Manager

Dieses Tool ist nötig um einen direkten TCP/IP Zugriff auf die MsSQL Datenbank zu ermöglichen.

Im Abschnitt SQL Server-Netzwerkkonfiguration muss "TCP/IP" für je jeweilige Server-Instanz "Aktiviert" sein.

Aktivieren der TCP/IP Verbindung
Im Reiter "IP-Adressen" bei "IPAll" wird die Port Nummer 1433 (Standard) eingetragen.
Über diesen Port kann sich EleLa auf den MsSQL Server verbinden.

Einrichten Datenbankzugang (Benutzername / Passwort):

Als nächstes muss im MsSQL Server ein Login mit Passwort und Berechtigungen angelegt werden, diese sind nötig damit EleLa auch auf die Datenbank zugreifen kann. Dies kann mit dem SSMS Tool von Microsoft erfolgen.

Benötigt werden die Berechtigungen zum anlegen/ändern/löschen für:

  • Datenmanipulation
  • Datenbank nur anlegen
  • Tabellen
  • Trigger
  • Foreign Key's

Die Rechte für Datenbank und Tabellen wird benötigt damit EleLa die Datenbank anlegen kann sowie Updates automatisiert durchführen kann. Rechte für Anlagen/Ändern von Benutzern benötigt EleLa nicht, das soll in der Hand des Administrators bleiben.

Erstellen der Datenbank:

In EleLa sind Funktionen hinterlegt, die automatisch eine Datenbank in den SQL Servern (MySQL, PostgreSQL, MsSQL) erzeugen kann. Dies erleichtert das Erstellen der Datenbank sehr und zugleich passt die erstellte Datenbank immer zur verwendetet EXE Version.

Unter Extras-F10 > Log wird mit der Taste "Optionen" der Konfigurationsdialog gestartet.

Als Verbindung wird "OleDB" gewählt.
Einstellung wie im Bild. Hier kann der Datenbankname "elela" vergeben werden, die im MsSQL Server erzeugt wird.
Host ist der Server auf dem MsSQL installiert ist. "localhost" ist der lokale PC.
Der Port wird nicht genutzt und sollte daher 0 sein.
Benutzername und Passwort muss so eingestellt sein wie zuvor in der Einrichtung mit SSMS eingestellt wurde.

Der "ConnectionString" der Verbindung erzeugt EleLa automatisch.

Die Taste "Erzeuge neue Datenbank" erstellt die Datenbank im MsSQL Server automatisch, samt aller Tabellen. Das Erstellen kann durchaus eine Längere Zeit beanspruchen.

Im Log protokolliert EleLa den Fortschritt der erzeugten Datenbank. Bei Fehler kann es dort eingesehen werden.

Mit "Teste Verbindung" kann nun kontrolliert werden ob die Verbindung funktioniert, dann wird die Lampe grün.

Nun muss die Einstellung gespeichert werden, damit EleLa beim nächsten Start diese Daten übernimmt. Dazu muss die "Speichern" Taste gedrückt werden.

Mit "Schließen" wird der Konfigurationsdialog geschlossen.

Damit die Änderungen wirksam werden muss EleLa geschlossen und wieder neu gestartet werden.

Nach dem, Neustart von EleLa sind alle Tabellen komplett leer.

Verbindungsaufbau über OleDB:

Die Verbindung wird über einen sogenannten "Connection String" hergestellt. Diese Textzeile ist elementar wichtig um eine Verbindung mit dem SQL Server herstellen zu können und diese kann je nach installtion des Servers und des Datenbank Treibers abweichen. Hier können einige Beispiele online angeschaut werden. Für EleLa werden diese in der Regel verwendet:

Variante 1:

Provider=MSOLEDBSQL;Server=%HOST%;Database=%DB%;UID=%USER%;PWD=%PWD%;MARS Connection=true;

Variante 2:

Provider=MSOLEDBSQL;Server=%HOST%;Database=%DB%;Trusted_Connection=yes;MARS Connection=true;

Wenn kein User eingegeben wird, so verwendet EleLa die zweite Variante.

Im Connection String ersetzt EleLa automatisch bekannte Bezeichner anhand der Konfiguration, alle Bezeichner sind optional:

%HOST% Der Eingabe in Host
%PORT% Dem Port
%DB% Der hinterlegten Datenbank
%USER% Username
%PWD% Passwort

Provider:
Der Provider ist der Treiber der verwendet wird. Wenn man unterschiedliche Treiber installiert hat so kann man mit einem Punkt und einer Zahl den exakten Treiber auswählen, den man nutzen möchte. Beispiel: "MSOLEDBSQL.1"

MARS Connection:
Dieser Parameter muss gesetzt sein, da EleLa mehre Verbindungen gleichzeitig nutzt.

Es gibt noch eine ganze Reihe anderer Parameter, wenn diese benötigt werden, so weis das entsprechend der Admin, der den SQL Server eingerichtet hat oder muss dies in der Doku von Microsoft nachlesen.

Importieren der bestehenden Daten:

Jetzt können die bestehenden Daten in die neu erstellte SQL Datenbank importiert werden. EleLa erledigt dies für alle SQL Datenbanken, wie MySQL, PostgreSQL und MsSQL.

Im Reiter "Extras-F10" > "Datenbank" kann eine bestehende Datenbank importiert werden. Dazu wird dieses gezeigte Menü ausgewählt.

Anschließend wird die bestehende SQLite Datenbankdatei ausgewählt. Die Datei heißt in der Regel "EleLa.sq3" und ist im gleichen Ordner wie EleLa.

Die Häkchen belässt man alle da alle Tabellen importieren werden sollen.

Mit der Taste "Import" werden alle bestehenden Datensätze vom MsSQL Server gelöscht und die anschließend die Daten aus der SQLite Datei importiert.

Schließen beendet die Export-/Import Fuktion und die neuen Daten stehen sofort zur Verfügung.

Hinweis: Um die Daten vom SQL Server zu sichern kann man ebenfalls die "Export" Funktion benutzen. Dabei sollte als "Datei" eine neue Datei angegeben werden damit bestehende Daten nicht überschrieben werden. EleLa exportiert automatisch alle Datensätze in eine SQLite Datenbank. Diese SQLite Datenbank ist somit eine Sicherung. Wenn man z.B. etwas in einer Sicherung nachschauen muss, so muss diese Datei nicht wieder in den SQL Server importiert werden, sondern man kann EleLa auf "sqlite-3" im Konfigurationsdialog umparametrieren und die Sicherung direkt wieder mit EleLa öffnen indem die "Datenbank" Datei angegeben wird. Selbst wenn die Sicherung schon viel älter ist, so führt EleLa beim Öffnen dieser SQLite-Datei automatisch einen Datenbank-Update aus. Damit ist gewährleistet dass Sicherungen auch nach Jahren immer noch nutzbar sind.
Die Datenbankhersteller bietet zwar Tools um die Daten zu sichern, diese können jedoch nicht direkt mit EleLa gelesen werden.
EleLa bietet auch Kommandozeilenparameter mit der ein Backup automatisiert realisierbar ist, somit kann der Systemandmin ein EleLa-Backup automatisiert erstellen.

Wichtig: Regelmäßiges Backup der Datenbank durchführen. Mit diesem Tool ist das schnell gemacht.

Update einer MsSQL Datenbank mit EleLa

Größere Updates der Datenbank kann EleLa mit MsSQL nicht ausführen, da MsSQL zu viele spezielle SQL Befehle benötigt und es zu komplex wird, ist darauf in EleLa verzichtet. Jedoch geibt es ein sehr praktikablen Workaround, der das gleiche macht. EleLa macht immer dann ein Update der Datenbank wenn die Major- oder Minor-Version ändert oder in der aktuellen Test-Version so lange es dafür noch kein offizielles Setup-Paket gibt.

Vorgehen:

  1. Backup der Daten vor dem Update mit der EleLa Datenbank Exportieren Funktion
  2. Zusätzlich diese Datei als ZIP Datei sichern (diese Daten sind sehr wichtig)
  3. Die neue EXE Version überschreiben und starten.
  4. Wenn das Update ohne Fehler ausgeführt wurde, kann man weiter arbeiten, mehr braucht man nicht machen.
  5. Bei Fehler im Update geht man folgendermaßen vor:
    Man nimmt das Backup der EleLa Datenbank und öffnet dieses Backup mit EleLa als SQLite Konfiguration. Dabei macht EleLa automatisch ein Update der Datenbank im Format SQLite.
  6. Wenn der Update der SQLite Daten nicht geklappt hat so kann im Log geschaut werden um welche Tabelle es sich handelt und welcher Datensatz Probleme bereitet, im Log wird dazu die ID des Datensatzes mit geloggt. Entsprechend muss dieser Datensatz manuell korrigiert werden und Elela.exe neu gestartet werden, bis alle Datenfehler behoben sind.
  7. Wenn der Update der SQLite Daten geklappt hat, so hat man eine fertig konvertierte Datenbank im neuen Format.
  8. Nun legt man auf dem MsSQL Server mit EleLa eine neue leere Datenbank an (Beschreibug siehe oben), also man vergibt einen neuen Datenbank name und speichert die Einstellung. Das Anlegen kann einige Minuten dauern.
  9. Nach dem Neustart von EleLa mit der neuen MsSQL Datenbank sollten alle Tabellen leer sein.
  10. Import der Daten aus der zuvor konvertierten SQLite Datenbank (Beschreibung siehe oben, kann einige Minuten dauern)
  11. Nach dem Import der Daten sind alle Datensätze wieder da und man kann mit der neuen EleLa Version weiter arbeiten.
  12. Nach der Kontrolle der Daten sollte man unbedingt die alte Datenbank auf dem MsSQL Server zur Sicherheit löschen, damit sich nicht noch Kollegen damit verbinden, die den Update nicht mitbekommen haben.

Um diesen Update durchführen zu können wird nur EleLa benötigt, andere Tools braucht es nicht. In EleLa sind sämtliche Werkzeuge eingebaut.

Ein größeres Update wäre z.B. von V3.1 auf V4 up zu daten. Hingegen kleinere Updates wie z.B. V4.0 > V4.1 sollte auch so funktionieren.


© 2010-2025 by Markus Müller