Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. SQL.Adpter: Insert-Befehle innerhalb von 40ms

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SQL.Adpter: Insert-Befehle innerhalb von 40ms

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      nettekov @haus-automatisierung last edited by

      @haus-automatisierung: Können wir gerne machen. Bin halt in Linux nicht ganz fit, da ich eher von der Windows-Welt komme.
      Sagt mir, wo ich es hin kopieren soll und wie ich es aufrufen kann.

      Gruss nettekov

      1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @nettekov last edited by OliverIO

        @nettekov

        ok, also der db meldet nicht den kompletten fehler.
        jetzt noch was bei der db tatsächlich ankommt.

        das kann man über das general query log aktivieren.
        da werden dann alle query requests reingeschrieben.
        https://mariadb.com/kb/en/general-query-log/

        die befehle kannst du entweder über den client auf dem rechner ausführen (auf der shell mysql eingeben, auch wenn du mariadb verwendest)
        oder auch aus heidisql.
        da genau so eingeben wie die normalen queries.

        falls du mehr konfigurieren willst, dann kannst du es auch in der normalen
        konfig datei /etc/mysql/my.cnf machen

        weiterhin kannst du auch mal das error log von mariadb/mysql anschauen oder erweitern. aber da dürfte nix anderes drin stehen.
        ich denke, der befehl der wirklich ankommt ist erst mal interessant
        https://mariadb.com/kb/en/error-log/

        haus-automatisierung 1 Reply Last reply Reply Quote 0
        • N
          nettekov last edited by

          Hallo zusammen,

          @OliverIO : Ich habe gestern mal nachgeschaut. Bei der Synology NAS, wo die MariaDB als Paket installiert ist, keine Möglichkeit gefunden , irgendwelche Log zu akivieren, weil es nicht angeboten wird
          mardb.png

          Vielleich über PHPmyadmin, kann ich nochmal nachschauen.
          Bei MYsql über XAMPP sieht es nicht viel besser aus.

          @haus-automatisierung : Du hast angeboten , ein extra Nodejs zu erstellen. Steht dein Angebot noch?

          Gruss Stefan

          haus-automatisierung OliverIO 2 Replies Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @nettekov last edited by

            @nettekov sagte in SQL.Adpter: Insert-Befehle innerhalb von 40ms:

            @haus-automatisierung : Du hast angeboten , ein extra Nodejs zu erstellen. Steht dein Angebot noch?

            Das war unglücklich formuliert. Ich meinte, dass ich das so machen würde um den Fehler zu finden.

            1 Reply Last reply Reply Quote 0
            • N
              nettekov last edited by

              @haus-automatisierung Wäre das das module-Verzeichnis für den SQL.Adapter
              sql_adapter.png

              Kann ich aus Linux(putty) ein javascript starten, was ein SQL-Statement abschickt?
              Wenn ja, könnt ihr mir kurz erklären wie?

              oder soll ich auf dem Webserver eine HTML -Seite erstellen, was das java-script ausführt.

              Gruss Nettekov

              haus-automatisierung 1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @nettekov last edited by

                @nettekov

                ich verstehe nicht, was du mit "es wird nicht angeboten" meinst.
                ich habe ja die links zur doku gesendet, wie man das log aktiviert.
                du musst an die datenbank befehle senden, genauso wie du queries sendest.
                dann werden die requests in eine datei geschrieben.

                aber ich glaube wir steigen hier in eine technische tiefe ab, bei der es sich dann nicht mehr lohnt.
                ich wäre dann raus.

                1 Reply Last reply Reply Quote 0
                • haus-automatisierung
                  haus-automatisierung Developer Most Active @nettekov last edited by

                  @nettekov sagte in SQL.Adpter: Insert-Befehle innerhalb von 40ms:

                  Webserver eine HTML -Seite erstellen, was das java-script ausführt.

                  Oh, dann vergiss den Tipp direkt 🙂 Da fangen wir ja bei Adam und Eva an.

                  1 Reply Last reply Reply Quote 0
                  • N
                    nettekov last edited by

                    @haus-automatisierung OK, verstanden. Ich versuche es selber mal

                    @OliverIO ich versuche es als sql Statement beim MySQL Server

                    Ich melde mich, wenn ich ein Ergebnis habe, kann ein paar Tage dauern

                    Gruß nettekov

                    haus-automatisierung 1 Reply Last reply Reply Quote 0
                    • haus-automatisierung
                      haus-automatisierung Developer Most Active @nettekov last edited by haus-automatisierung

                      @nettekov sagte in SQL.Adpter: Insert-Befehle innerhalb von 40ms:

                      OK, verstanden.

                      War nicht böse gemeint. Aber serverseitiges JavaScript und auf Client-Seite ausgeführtes sind zwei komplett unterschiedliche paar Schuhe. Nur eines von beiden ist nodejs 🙂 Und wenn man das schon erklären muss, wäre es ein weiter Weg mit npm / package.json / require() / usw. anzufangen.

                      Generell kannst Du aber einfach eine Textdatei ablegen und diese dann mit node über deine Shell aufrufen: node blabla.js

                      N 1 Reply Last reply Reply Quote 0
                      • N
                        nettekov last edited by

                        @haus-automatisierung alles gut, habe es auch nicht böse aufgefasst.
                        Es hätte eventuell,schnell erklärt werden können, bevor ich mich lange auf die Suche mache.
                        Aber mir dem Hinweis node kann ich schon was anfangen.

                        Wenn ich was habe, melde ich mich.
                        Gruß nettekov

                        1 Reply Last reply Reply Quote 0
                        • N
                          nettekov @haus-automatisierung last edited by

                          @haus-automatisierung Ich will am Wochenende node sql Script testen

                          bevor ich aber das tun, wollte ich vorher fragen, ob es dem IOBroker , bzw dem NPM schadet, wenn ich das mysql package installiere:

                          $ npm install mysql
                          

                          und dann mit einem ähnliche Script wie Diesem arbeite:

                          var mysql      = require('mysql');
                          var connection = mysql.createConnection({
                            host     : 'localhost',
                            user     : 'me',
                            password : 'secret',
                            database : 'my_db'
                          });
                           
                          connection.connect();
                           
                          connection.query('************', function (error, results, fields) {
                            if (error) throw error;
                            console.log('The solution is: ', results[0].solution);
                          });
                           
                          connection.end();
                          

                          Gruss nettekov

                          haus-automatisierung 1 Reply Last reply Reply Quote 0
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @nettekov last edited by haus-automatisierung

                            @nettekov sagte in SQL.Adpter: Insert-Befehle innerhalb von 40ms:

                            ob es dem IOBroker , bzw dem NPM schadet, wenn ich das mysql package installiere:

                            Pakete werden auf die Art lokal im aktuellen Verzeichnis installiert (node_modules). Das heißt, dass Du das bitte nicht in /opt/iobroker/... packst, sondern irgendwo in deinem Home-Verzeichnis o.ä. Dann hat das mit dem ioBroker nix zu tun.

                            PS: Dein Script bekommt eventuell ein Problem, wenn end() ausgeführt wird, bevor der query geantwortet hat.

                            N 1 Reply Last reply Reply Quote 0
                            • N
                              nettekov @haus-automatisierung last edited by

                              @haus-automatisierung Status--> Ich habe im Homeverzeichnis unter einem Ordner Test das mysql-Package installiert und die erste SELECT Query funktionieren auch schon.
                              Werden am WE ein bisschen testen.

                              Macht es vielleicht Sinn, das ich ein Paar angeblichen fehlbehaftete Query zu schicke und ihr die bei Euch testet. So können wir vielleicht herausfinden, ob es ein generelles Problem handelt oder nur bei meine IT hier ein Problem existiert.

                              Bei den Tabelle ts_number & ts_counter kann man ja eine ID eingeben, die in der Tabelle data points nicht existieren und somit später wieder entfernen

                              Gruss nettekov

                              OliverIO 1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @nettekov last edited by

                                @nettekov
                                es liegt ziemlich sicher an deiner installation/konfiguration.
                                ansonsten würden sich hier viele ähnliche Meldungen im Forum befinden, da du ja da nix so spezielles machst, wie viele anderen auch.

                                haus-automatisierung 1 Reply Last reply Reply Quote 0
                                • haus-automatisierung
                                  haus-automatisierung Developer Most Active @OliverIO last edited by

                                  @oliverio sagte in SQL.Adpter: Insert-Befehle innerhalb von 40ms:

                                  es liegt ziemlich sicher an deiner installation/konfiguration.

                                  Das denke ich auch. Wobei es ja eigentlich nicht an MariaDB liegen kann - die Version nutzen ja auch viele auf der Synology und da wird ja auch für alle das gleiche Paket ausgerollt.

                                  Bleibt eigentlich nur Adapter + Adapter-Konfiguration + Abhängigkeiten + nodejs Version. Macht es natürlich nicht leichter, dass einige Datenpunkte funktionieren.

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @haus-automatisierung last edited by

                                    @haus-automatisierung
                                    tja wenn wir nur wüssten, was tatsächlich bei der datenbank ankommt. das wissen wir leider ja immer noch nicht.
                                    aktuell wissen wir nur was vermeintlich abgesendet worden ist, bzw. eine fehlermeldung der datenbank, bei der der befehl gekürzt wurde

                                    1 Reply Last reply Reply Quote 1
                                    • haus-automatisierung
                                      haus-automatisierung Developer Most Active @OliverIO last edited by

                                      @oliverio sagte in SQL.Adpter: Insert-Befehle innerhalb von 40ms:

                                      tja wenn wir nur wüssten, was tatsächlich bei der datenbank ankommt. das wissen wir leider ja immer noch nicht.

                                      Dein Kommentar wurde ja auch erfolgreich ignoriert 🙂 Hier nochmal die Wiederholung:

                                      @oliverio sagte in SQL.Adpter: Insert-Befehle innerhalb von 40ms:

                                      ok, also der db meldet nicht den kompletten fehler.
                                      jetzt noch was bei der db tatsächlich ankommt.
                                      das kann man über das general query log aktivieren.
                                      da werden dann alle query requests reingeschrieben.
                                      https://mariadb.com/kb/en/general-query-log/

                                      Und hier findet man auf der Synology die Config: https://kb.synology.com/en-in/DSM/tutorial/Can_MariaDB_settings_be_customized_on_Synology_NAS

                                      N 1 Reply Last reply Reply Quote 0
                                      • N
                                        nettekov @haus-automatisierung last edited by nettekov

                                        Hallo Leute,

                                        ich habe euch nicht vergessen oder ignorier. ich kann z.Z. halt nicht jeden Tag hier weitermachen.
                                        Für mich ist die Situation auch nicht leicht und könnte meine Zeit besser verwenden.
                                        Aber ich finde , das ist ein geiles Forum, der mir von zwei Probleme gelöst hat und möchte gerne auch mal was zurückgeben, was ich denke das ich das auch kann.
                                        Daher bitte ich euch , um etwas Geduld.
                                        Wir werden das schaffen!

                                        @OliverIO : Deinen Ratschlag werde noch beflogen, ich hatte mitte der Woche schon mal mit Wireshark ein Versuche aufgezeichnet.

                                        1. Ein fehlerhafte Protokoll vom SQL.Adapter zum MySQL -Server:
                                          Hier sieht man , das trotz vollständig übertragen INSERT-Befehl, der MySQL-Server eine Syntax-Fehlermeldung ausgibt.
                                          Insert-Befehl_SQL-Adapter_ZUM_MYSQL_Server.png

                                        2. Dann bin ich hingegangen und haben diesen Befehl kopiert und in einem anderen SQL-Client ausgeführt und wieder mit Wireshark aufgezeichnet.
                                          Hier ist der selber INSERT-Befehl durchgegangen und es gab keine Fehler:
                                          90768a0b-192a-4534-a0ad-7a96d933663a-image.png

                                        Soo. die mariadb und die mysqldb werden jetzt auch geloggt.
                                        Hier sind schon die ersten Ergebnisse:
                                        logmariab.png

                                        Ich versuche morgen mal bescheid zu geben, was das Ergebnis ist.

                                        Gruss Nettekov

                                        OliverIO 1 Reply Last reply Reply Quote 0
                                        • OliverIO
                                          OliverIO @nettekov last edited by

                                          @nettekov

                                          setze deine energie erst mal nicht so sehr in wireshark. das hat seine eigenen untiefen.
                                          nutze lieber ersteinmal die Möglichkeiten der DB

                                          N 3 Replies Last reply Reply Quote 0
                                          • N
                                            nettekov @OliverIO last edited by nettekov

                                            @oliverio Anbei die erste Fehlermeldung:
                                            iobroker_log.png
                                            und das entsprechende Log: (Die 3 Quittungen kommen von den 3 oberen Queries)
                                            quit_sql_ada.png
                                            Logfiel_2023_02_10.png

                                            Der INSERT-Befehl kommt sauber an.

                                            Und jetzt den selben INSERT-Befehl nochmal über einen anderen SQL-Client geschickt, dann ist alles OK:
                                            Selbe_INSERT_ÜBER 172_27_200_100.png

                                            Gruss Nettekov

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            685
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            64
                                            3021
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo