Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. SQL Adapter - Datenverwaltung + Normalisierung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    SQL Adapter - Datenverwaltung + Normalisierung

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tomlei last edited by

      Hallo
      SQL Adapter ist installiert - Verbindung zur MSSQL Server Instanz steht - DB+Tabellen wurden angelegt - Datenpunkt Inhalte können gespeichert werden. Dann habe ich im Pfad 0_userdata verschiedene Versuche gemacht.
      Folgende Fragen:

      1. Unter "https://www.iobroker.net/docu/index-254.htm?page_id=3772&lang=de" gibt es eine Spec für den SQL Adapter, gibt es etwas mit weiterführenden Erklärungen?
      2. getestet wurden Zahlen und Logikwerte -> funktioniert (Werte erscheinen in den entsprechenden Tabs)
      3. Test mit Zustandstyp "Zeichenkette" und Rolle "text" führt zum Fehler "RequestError: The data type text cannot be used as an operand to the UNION, INTERSECT or EXCEPT operators because it is not comparable."
      • der DP wird in der Tab "datapoints" eingetragen und der Wert in die Tab ts_string geschrieben (trotz Fehlermeldung im IOBroker)
      • wenn es mir gelingt, das Fenster zur Wertänderung trotz Fehlermeldung zu öffnen, dann kann ich dort den Wert ändern und der wird dann auch wieder in SQL DB gespeichert - Fehlermeldung kommt bei Mousehover über den Wert im IOBroker immer wieder
      • Einstellungen Datenpunkt - 'Zustandstyp' - "Zeichenkette", "gemischt" -> gleicher Fehler
      • Einstellungen Datenpunkt - 'Zustandstyp' - "JASON" -> gleicher Fehler
      • Einstellungen sql.0 - 'Speichern als' - "Zeichenfolge" und "Automatisch" -> gleicher Fehler
      • wie gesagt, die Daten werden in der Tab ts_string gespeichert, aber die Fehlermeldung im Log und bei Mousehover bleibt
      1. beim Löschen von Datenpunkten im IOBroker werden die Einträge in der DB nicht gelöscht -> ist das so gedacht?
      2. beim Anlegen von Datenpunkten mit einem Namen, für welchen schon Daten in der DB stehen, gibt es keine Warnung -> ist das so gedacht (Normalisierung 1NF)?
      3. Wofür ist die Einstellung "Rolle" gedacht?
        Fazit: in meiner Installation lassen sich nur Boolean und Number Werte in der SQL DB ohne Fehlermeldung speichern.

      ps: Der Adapter Tankerkoenig hat ebenfalls ein 'String' Datenpunkt für den Namen der Tankstelle (Name) - auch dort gibt es die gleiche Fehlermeldung.

      Wenn jemand Zeit hat, sich mit dem Thema zu befassen und einen Tip hat, der mich hiermit weiterbringt, dann wäre ich happy. Vielen Dank für alle Tips und Hinweise. Wenn es alternative Adapter gibt, die dieses Verhalten nicht haben, dann bitte ich um einen Hinweis. Danke.

      T 1 Reply Last reply Reply Quote 0
      • T
        tomlei @tomlei last edited by

        Hat niemand diesen Adapter in Verwendung? Kann jemand das beschriebene Verhalten nachvollziehen?
        Danke für alle Tips.

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

          @tomlei
          Verfahrensaufzählung mit viel Text und mit darin versteckten Fragen ist eine ungünstige Kombination.

          Der Fehler

          RequestError: The data type text cannot be used as an operand to the UNION, INTERSECT or EXCEPT operators because it is not comparable

          ist wohl eher in deinem SQL
          https://stackoverflow.com/questions/34897677/the-data-type-text-cannot-be-used-as-an-operand-to-the-union-intersect-or-excep/34897700
          Der Adapter vermittelt dir den Fehler aus der Datenbank

          wenn du selbst kein sql verwendet hast, dann muss der adapter-entwickler ran.
          ggfs. kannst du bei github einen issue einstellen
          die meisten hier verwenden mysql/mariadb.
          mssql seh ich hier eher selten.

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

            @oliverio
            Danke für Deine Antwort.

            Ich dachte ich habe meine Fragen halbwegs strukturiert formuliert...

            Das einzige was man konfiguriert sind die Verbindungsdaten zum SQL Server. Die Datenbank + Tabellen werden ja vom Adapter selbstständig angelegt. Da bin ich davon ausgegangen, dass das in der richtigen Weise erfolgt. Die Data Types in den Tabellen habe ich geprüft - für Textfelder ist auch text/string eingestellt. Wenn ich über eine SQL query daten in diese tab reinschreibe (vom Server direkt) dann funktioniert das auch und der Server zeigt mir keine Fehler.
            Wie auch immer, ich nutze jetzt den History Adapter und lesen die JSON files aus. Das funktioniert auch.

            Danke und Gruß

            F 1 Reply Last reply Reply Quote 0
            • F
              F493 @tomlei last edited by

              @tomlei
              hast du dazu eine lösung gefunden?
              ich hätte ein identes problem ...

              danke

              T 1 Reply Last reply Reply Quote 0
              • T
                tomlei @F493 last edited by tomlei

                @f493
                Ich habe folgende Einstellungen zur Speicherung eines Wertes als Text:
                2850ba50-b0d5-484e-b3e3-85646caf7506-image.png

                24b32868-5bf1-4008-8050-6ba4f08e6b69-image.png
                Die Werte hier lasse ich alle unverändert auf die Standard Einstellungen stehen (Rolle, Zustandstyp).

                Der Wert wird dann in der DB in der Tabelle ts_string als String Wert eingetragen. Hier in diesem Fall handelt es sich um den Wert "49.9Hz". Den numerischen Wert des Strings trenne ich dann mit einer SQL Server Function vom Text im String und kann ihn dann mit einer Query in einem Grafana Chart anzeigen/auswerten.

                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

                835
                Online

                31.9k
                Users

                80.2k
                Topics

                1.3m
                Posts

                3
                6
                293
                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