Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. SQL Adapter - Datenverwaltung + Normalisierung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

SQL Adapter - Datenverwaltung + Normalisierung

Scheduled Pinned Locked Moved ioBroker Allgemein
6 Posts 3 Posters 492 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    tomlei
    wrote on last edited by
    #1

    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
    0
    • T tomlei

      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 Offline
      T Offline
      tomlei
      wrote on last edited by
      #2

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

      OliverIOO 1 Reply Last reply
      0
      • T tomlei

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

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        wrote on last edited by OliverIO
        #3

        @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.

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        T 1 Reply Last reply
        0
        • OliverIOO 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 Offline
          T Offline
          tomlei
          wrote on last edited by
          #4

          @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
          0
          • T tomlei

            @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 Offline
            F Offline
            F493
            wrote on last edited by
            #5

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

            danke

            T 1 Reply Last reply
            0
            • F F493

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

              danke

              T Offline
              T Offline
              tomlei
              wrote on last edited by tomlei
              #6

              @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
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              Support us

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

              564

              Online

              32.7k

              Users

              82.4k

              Topics

              1.3m

              Posts
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Home
              • Recent
              • Tags
              • Unread 0
              • Categories
              • Unreplied
              • Popular
              • GitHub
              • Docu
              • Hilfe