Skip to content

demel42/IPSymconMySQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IPSymconMySQL

IPS-Version Code License

Dokumentation

Inhaltsverzeichnis

  1. Funktionsumfang
  2. Voraussetzungen
  3. Installation
  4. Funktionsreferenz
  5. Konfiguration
  6. Anhang
  7. Versions-Historie

1. Funktionsumfang

Ein vereinfachtes Interface zu einer MySQL-Datenbank für die Basis-Befehle, es wird mit dem mysqli-Interface (http://php.net/manual/de/class.mysqli.php) gearbeitet.

2. Voraussetzungen

  • IP-Symcon ab Version 6.0
  • Datenbank-Server
    • Typ: MySQL oder MariaDB
    • Datenbank mit ausreichenden Zugriffsrechten

3. Installation

a. Laden des Moduls

Die Konsole von IP-Symcon öffnen. Im Objektbaum unter Kerninstanzen die Instanz Modules durch einen doppelten Mausklick öffnen.

In der Modules Instanz rechts oben auf den Button Hinzufügen drücken.

In dem sich öffnenden Fenster folgende URL hinzufügen:

https://github.com/demel42/IPSymconMySQL.git

und mit OK bestätigen.

Anschließend erscheint ein Eintrag für das Modul in der Liste der Instanz Modules

b. Einrichtung in IPS

In IP-Symcon nun Instanz hinzufügen (CTRL+1) auswählen unter der Kategorie, unter der man die Instanz hinzufügen will, und Hersteller (sonstiges) und als Gerät MySQL auswählen.

In dem Konfigurationsdialog den Datenbank-Server eintragen (Name oder IP-Adresse sind zulässig), Datenbank und Zugriffdaten

4. Funktionsreferenz

zentrale Funktion

(mysqli Object) = MySQL_Open(integer $InstanzID)

Öffnet die in der Konfiguration angegebene Datenbank und liefert ein mysqli Object zurück. Die Verbindung muss nicht geschlossen werden, aufgrund der Persistent Connections (http://php.net/manual/de/mysqli.persistconns.php) werden offene Verbindungen später wieder verwendet.

MySQL_Close(integer $InstanzID, object $dbHandle)

Schliesst die Datenbankverbindung.

MySQL_ExecuteSimple(integer $InstanzID, string Statement)

Öffnet die Datenbank und führt des SQL-Statement aus; das Ergebnis ist bei einer Abfrage dier Ergebnismenge als ein Array von Objekten bzw. _false bei einem Fehler (Fehlermeldung dann im Medungsfenster) oder by update / insert / delete wird true oder false geliefert.

MySQL_Query(integer $InstanzID, object $dbHandle, string Statement)

analog zu MySQL_ExecuteSimple, jedoch wird der dbHandle übergeben.

5. Konfiguration:

Variablen

Eigenschaft Typ Standardwert Beschreibung
Server string Hostname / IP-Adresse des Datenbank-Servers
Port integer 3306 Port, unter dem der Datenbank-Server kommuniziert
Benutzer string Datenbank-Benutzer
Passwort string Passwort des Datenbank-Benutzers
Datenbank string zu benutzende Datenbank

Schaltflächen

Bezeichnung Beschreibung
Verbindungstest Testet die Datenbankverbindung

6. Anhang

GUIDs

  • Modul: {C0E06BE4-D9D8-4208-8CDB-93D161A7CA98}
  • Instanzen:
    • MySQL: {7B420C9A-F0FF-4C65-925D-6FEE0D8F1A55}

7. Versions-Historie

  • 1.14 @ 02.01.2025 14:28

    • interne Änderung
    • update submodule CommonStubs
  • 1.13 @ 06.02.2024 09:46

    • Verbesserung: Angleichung interner Bibliotheken anlässlich IPS 7
    • update submodule CommonStubs
  • 1.12 @ 03.11.2023 11:06

    • Neu: Ermittlung von Speicherbedarf und Laufzeit (aktuell und für 31 Tage) und Anzeige im Panel "Information"
    • update submodule CommonStubs
  • 1.11 @ 04.07.2023 14:44

    • Vorbereitung auf IPS 7 / PHP 8.2
    • update submodule CommonStubs
      • Absicherung bei Zugriff auf Objekte und Inhalte
  • 1.10.1 @ 07.10.2022 13:59

    • update submodule CommonStubs Fix: Update-Prüfung wieder funktionsfähig
  • 1.10 @ 05.07.2022 09:44

    • Verbesserung: IPS-Status wird nur noch gesetzt, wenn er sich ändert
  • 1.9.2 @ 22.06.2022 10:33

    • Fix: Angabe der Kompatibilität auf 6.2 korrigiert
  • 1.9.1 @ 28.05.2022 11:37

    • update submodule CommonStubs Fix: Ausgabe des nächsten Timer-Zeitpunkts
  • 1.9 @ 27.05.2022 15:30

    • update submodule CommonStubs
    • einige Funktionen (GetFormElements, GetFormActions) waren fehlerhafterweise "protected" und nicht "private"
    • interne Funktionen sind nun entweder private oder nur noch via IPS_RequestAction() erreichbar
  • 1.8.2 @ 17.05.2022 15:38

    • update submodule CommonStubs Fix: Absicherung gegen fehlende Objekte
  • 1.8.1 @ 10.05.2022 15:06

    • update submodule CommonStubs
  • 1.8 @ 05.05.2022 17:53

    • IPS-Version ist nun minimal 6.0
    • Anzeige der Modul/Bibliotheks-Informationen, Referenzen und Timer
    • Implememtierung einer Update-Logik
    • Überlagerung von Translate und Aufteilung von locale.json in 3 translation.json (Modul, libs und CommonStubs)
    • diverse interne Änderungen
  • 1.7 @ 18.12.2020 14:57

    • PHP_CS_FIXER_IGNORE_ENV=1 in github/workflows/style.yml eingefügt
  • 1.6 @ 12.09.2020 11:40

    • LICENSE.md hinzugefügt
    • lokale Funktionen aus common.php in locale.php verlagert
    • Traits des Moduls haben nun Postfix "Lib"
    • define's durch statische Klassen-Variablen ersetzt
  • 1.5 @ 30.12.2019 10:56

    • Anpassungen an IPS 5.3
      • Formular-Elemente: 'label' in 'caption' geändert
  • 1.4 @ 10.10.2019 17:27

    • Anpassungen an IPS 5.2
      • IPS_SetVariableProfileValues(), IPS_SetVariableProfileDigits() nur bei INTEGER, FLOAT
      • Dokumentation-URL in module.json
    • Umstellung auf strict_types=1
    • Umstellung von StyleCI auf php-cs-fixer
  • 1.3 @ 20.03.2019 14:56

    • Anpassungen IPS 5, Abspaltung von Branch ips_4.4
  • 1.2 @ 10.03.2019 15:14

    • Fehlerkorrektur: Datenbank-Port wurde nicht gesetzt
  • 1.1 @ 20.09.2018 17:28

    • Versionshistorie dazu,
    • define's der Variablentypen,
    • Schaltfläche mit Link zu README.md im Konfigurationsdialog
  • 1.0 @ 24.03.2018 15:20

    • Initiale Version

About

vereinfachtes Interface zu MySQL für IP-Symcon

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages