Ankündigung

Einklappen
Keine Ankündigung bisher.

EIBPORT mit SQL Datenbank

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    EIBPORT mit SQL Datenbank

    Hallo zusammen,

    hat jemand von Euch schon mal eine SQL Datenbank mit dem EIBPORT verknüpft, um die Logs, Systemdetails bzw. Telegramme zu speichern? Ich habe dies gestern versucht zu etablieren, nur schreibt der EIBPORT keine Daten in die Bank. Vielleicht können wir uns mal austauschen.

    Viele Grüße,
    macht

    #2
    So weit ich weiß, muss man da noch ein Softwareupgrade kaufen.

    Kommentar


      #3
      Bei wem? Bab-Tech oder Microsoft?

      Kommentar


        #4
        Bab-Tech (DataWarehouse)
        Die verwenden aber idR eine MySQL-DB.
        Zuletzt geändert von GLT; 29.05.2016, 08:31.
        Gruss
        GLT

        Kommentar


          #5
          Das Hochladen der Telegramme an MySQL Datenbank beherrscht eibPort von Bab-Technologie ohne notwendigkeit Zusatzsoftware (DataWarehouse) zu kaufen. DataWarehouse kann man verwenden für die (graphische) Analyse der Langzeitaufnahme oder für die Datenexport (MySQL -> CSV-Datei).

          Hier die Prozedur wie man eibPort am einfachsten an SQL Server die Telegramme aufzeichnen bekommt (Achtung: EDV-Sicherheitstechnisch sind hier nicht alle Best-Practice Tipps inkludiert!):
          1. MySQL (Community) Installer (aktuell 5.7.20) herunterladen und starten.
          2. Installiere mindestens Komponenten Server und Workbench. Falls unter 64-Bit Windows die Serverkomponenteninstallation fehlschlägt, muss man händisch vorher noch Visual C++ Redistributable Package for Visual Studio 2013 in 32-Bit/x86 Variante installieren.
          3. MySQL Workbench starten. Links-klick (weiter im Text hier mit L-klick abgekürzt) auf der linken Seite unter Management "Users and Privileges", L-klick auf den "root". Ändere "Limit to Host Matching" zu "%" und L-klick "Apply".
          4. Auch wenn kein DataWarehouse später benötigt wird, geht die Einrichtung mit es am einfachsten (Demo ist ausreichend). Herunterlade die Bab-Tec DataWarehouse 2 Demo und starte es (Java wird benötigt). Dies kann auch an anderem PC und muss nicht an dem PC, wo MySQL läuft, durchgeführt werden.
          5. Öffne Reiter "Prepare Database" und trage ein (falls MySQL mit Standardeinstellungen installiert, sonst passend zu den Installation):
            Server Host: <MySQL IP oder Hostname>
            Server Port: 3306
            'root' Username: root
            <Hier die während MySQL Installation vergebene MySQL root Kennwort>
            Database Name: eibportdb (Beispiel, kann etwas anderes sein)
            Data Warehouse Username: eibport (Beispiel, kann etwas anderes sein, der Benutzer soll noch nicht existieren)
            Denk ein Kennwort für den Benutzer aus.
            L-klick "OK"
          6. Zurück an MySQL Workbench. Unter "Users and Privileges" L-klick "Refresh", selektiere Benutzer "eibport". Ändere "Limit to Host Matching" zu "%". Navigiere zu "Administrative Roles". Rechts in "Global Priviledges" selektiere:
            ALTER
            ALTER ROUTINE
            CREATE
            CREATE ROUTINE
            DELETE
            DROP
            EVENT
            EXECUTE
            INDEX
            INSERT
            SELECT
            SUPER (<- wird nur benötigt um die Sortierfunktionen an MySQL Scheduled Events zu registrieren, kann danach gelöscht werden)
            UPDATE
            L-klick "Apply"
          7. Öffne eibPort ConfigTool und navigiere zu Karteireiter "Database". R-klick im weißen linken Fenster und wähle "Add Database Connection".
            Description: MySQL_Verbindung (Beispiel, kann etwas anderes sein)
            Enabled: ja
            Host: <MySQL Server IP oder Hostname>
            Port 3306
            Database: eibportdb
            Username: eibport
            Gebe das Kennwort von Punkt 5 oben zwei mal ein
            L-klick "Save"
          8. R-klick "MySQL_Verbindung" im linken Baum und wähle "Add table".
            Description: Telegrammaufzeichnung (Beispiel, kann etwas anderes sein)
            Enabled: ja
            Type: Telegrams
            Name: eib_tele
            L-klick "Save"
          9. Öffne Browserfenster http://<eibPort IP>/report/service/
          10. Melde mit eibPort Benutzer "admin" und Kennwort an. Navigiere zu Karteireiter "MySQL Status". Falls alles richtig konfiguriert, sollten die beiden Status-Einträge "enabled" und Active? auf "yes" sein.
          11. Nun kann z.B. mit MySQL Workbench verifiziert werden, dass in Tabelle eib_tele im Datenbank eibportdb Zeilen hinzugefügt werden (jede Zeile enspricht einen vom eibPort nach Filterregeln aufgenommenen KNX Telegramm).
          12. Optional können die nun von DATAWAREHOUSE2_20151111.jar eingespeicherten Stored Procedures gefixt werden - es gibt ein Tippfehler in zwei der drei hochgeladenen Prozeduren - nähmlich bei copy_for_month und bei sort_into_archive_tables. Dafür mit MySQL Workbench im linken Fenster unter Schemas die Datenbank eibportdb ausklappen, dann Stored Procedures ausklappen. R-klick an copy_for_month und Alter Stored Procedure. Nun kommt Fehlermeldung, View DDL wählen, alles auswählen und in die Zwischenablage kopieren. Nun R-klick an Stored Procedures und Create Stored Procedure. Mit Inhalt aus Zwischenablage alles ersetzen und die $$define vorne und $$ am Ende löschen. Nun zu den Fehlerkorrektur -> beim SELECT Zeile wo am Ende AS "Action" steht, sollen die Anführungszeichen (double quotes) gegen einfache Anführungszeichen (single quotes) getauscht werden. Nun sollte MySQL Workbench kein Fehler für den Prozedur mehr anzeigen. Strg+W um das Tab zu schließen drücken und Ersetzen/Überschreiben akzeptieren. Ähnlich nun mit sort_into_archive_tables Prozedur vorgehen, hier sind in zwei Stellen die Anführungszeichen bei Action gegen einfache Anführungszeichen zu ersetzen.
          Gruss,
          Risto
          Zuletzt geändert von xrk; 07.01.2018, 09:05.
          Winston Churchill hat mal gesagt: "Ein kluger Mann macht nicht alle Fehler selbst. Er gibt auch anderen eine Chance.“

          Kommentar

          Lädt...
          X