Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Gelöst - Fehler-Problem bei SQL.history Adapter

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Gelöst - Fehler-Problem bei SQL.history Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky last edited by

      hallo ,

      habe node v8.9.1 auf einem banana pro mit jessie. my server sql 5.7

      ich habe node-red installiert, deswegen ist die node version so hoch! lch weiß nicht ob der sql adapter vorher lief!

      nach der installation ist der test der verbindung (adapterkonfiguration) mit folgendem fehler:

      TypeError: SQL[clients[msg.message.config.dbtype].name] is not a constructor
      

      im log steht folgendes:

      sql.0	2017-12-09 13:18:20.321	warn	No connection to SQL-DB
      sql.0	2017-12-09 13:18:19.901	error	TypeError: Cannot read property 'borrow' of undefined
      sql.0	2017-12-09 13:18:19.899	error	Selected SQL DB was not installed properly: 'mysql'. SQLite requires build tools on system. See README.md
      

      der befehl: node main.js –force -- logs bringt: (läuft ewig und wird dann "getötet" 😞

      Cannot find module 'pg-native'
      Getötet
      
      

      kann mir bitte jemand helfen. ich komme leider nicht weiter.

      gruß armin

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Bitte sql Adapter neu installieren. Hast du schon immer Node 8 oder hast du aktualisiert?

        1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky last edited by

          hallo, erst mal danke für deine antwort

          -sql adapter x-mal installiert (von iobroker admin aus)

          -wie beschrieben habe ich node red installiert (nach iobroker) und dabei wurde node upgedated! ich weiß also nicht ob es schon gelaufen wäre.

          welche node version wird bei iobroker benötigt. ich würde auch nicht genau wissen, wie man node downgraded - geht das überhaupt? wahrscheinlich deinstallieren und neu installieren - kann dabei iobroker in die brüche gehen?

          ich hab auch versucht "npm install mysql" auszuführen - bekomme dann aber fehler - in meinem "node_modules" - ordner ist kein mysql ordner sondern ein mysql pointer - auf diesen kann man nicht zugreifen.

          alles mit sql macht irgendwie probleme - die mysql datenbank wird aber häufig von verschiedenen programmen benutzt und läuft ohne fehler

          hast du eine idee

          1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 last edited by

            Hast du NACH dem node Upgrade den sql Adapter nochmals installiert?

            mysql node Modul hat Teile die Kompiliert werden müssen.

            Am besten vorher in node_modules das Verteichnis iobroker.sql und auch mysql und so und dann neu installieren

            1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky last edited by

              ich habe den sql adapter des öfteren installiert und ausprobiert - jetzt auch mit löschen der verzeichnisse - so wie du empfohlen hast.

              ich habe mal versucht verschiedene nodejs versionen zu testen. alle versionen 4.x, 6.x, 8.x alle haben den selben fehler im log (siehe oben). nach jeder node versionsänderung ich habe jedesmal einen reboot gemacht und den sql adapter neu installiert. es gibt nur einen für mich sichtbaren unterschied - die fehlermeldung beim verbindungstest in der adapterkonfig ist eine andere

              bei node 4.8.2

              TypeError: SQL[clients[msg.message.config.dbtype].name] is not a function
              

              bei node 6.x und 8.x

              TypeError: SQL[clients[msg.message.config.dbtype].name] is not a constructor
              
              1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 last edited by

                Node versionen wechseln ist nichts was man mal eben so machen sollte. Blöde Idee!!

                Bei mir und in den automatischen Tests läufts mit Node 4,6,8 … Versuchs mal wirklich an der kommandozeile mit „npm i iobroker.sql“ und schick mal diese Ausgaben. Am besten vorher die genannten Verzeichnisse nochmal löschen inkl sqlite

                1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky last edited by

                  blöde idee - ich habe das alles von dem forum hier - hier wird oft über die version von node und npm diskutiert.

                  aber ich gebe dir recht - ich hatte schon sio ein blödes gefühl bei der installation von node-red. dabei wurde die node version geändert - aber ich wollts mal ausprobieren.

                  back to problem:

                  die installationen und neustarts dauern ewig - der banana pro ist ziemlich am limit!

                  momentan: node 6.12.2 npm 3.10.10 - alle verzeichnisse gelöscht :

                  npm install iobroker.sql
                  npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
                  
                  > sqlite3@3.1.7 install /opt/iobroker/node_modules/sqlite3
                  > node-pre-gyp install --fallback-to-build
                  
                  node-pre-gyp ERR! Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.7/node-v48-linux-arm.tar.gz
                  node-pre-gyp ERR! Pre-built binaries not found for sqlite3@3.1.7 and node@6.12.2 (node-v48 ABI) (falling back to source compile with node-gyp)
                  make: Entering directory '/opt/iobroker/node_modules/sqlite3/build'
                    ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep Release/obj/gen/sqlite-autoconf-3150000/sqlite3.c
                    TOUCH Release/obj.target/deps/action_before_build.stamp
                    CC(target) Release/obj.target/sqlite3/gen/sqlite-autoconf-3150000/sqlite3.o
                  cc: internal compiler error: Getötet (program cc1)
                  Please submit a full bug report,
                  with preprocessed source if appropriate.
                  See <file: usr/share/doc/gcc-4.9/readme.bugs="">for instructions.
                  deps/sqlite3.target.mk:124: recipe for target 'Release/obj.target/sqlite3/gen/sqlite-autoconf-3150000/sqlite3.o' failed
                  make: *** [Release/obj.target/sqlite3/gen/sqlite-autoconf-3150000/sqlite3.o] Error 4
                  make: Leaving directory '/opt/iobroker/node_modules/sqlite3/build'
                  gyp ERR! build error
                  gyp ERR! stack Error: `make` failed with exit code: 2
                  gyp ERR! stack     at ChildProcess.onExit (/opt/iobroker/node_modules/npm/node_modules/node-gyp/lib/build.js:285:23)
                  gyp ERR! stack     at emitTwo (events.js:106:13)
                  gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
                  gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
                  gyp ERR! System Linux 3.4.108-bananian
                  gyp ERR! command "/usr/local/bin/node" "/opt/iobroker/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/opt/iobroker/node_modules/sqlite3/lib/binding/node-v48-linux-arm/node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=/opt/iobroker/node_modules/sqlite3/lib/binding/node-v48-linux-arm"
                  gyp ERR! cwd /opt/iobroker/node_modules/sqlite3
                  gyp ERR! node -v v6.12.2
                  gyp ERR! node-gyp -v v3.6.0
                  gyp ERR! not ok
                  node-pre-gyp ERR! build error
                  node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /opt/iobroker/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/opt/iobroker/node_modules/sqlite3/lib/binding/node-v48-linux-arm/node_sqlite3.node --module_name=node_sqlite3 --module_path=/opt/iobroker/node_modules/sqlite3/lib/binding/node-v48-linux-arm' (1)
                  node-pre-gyp ERR! stack     at ChildProcess. <anonymous>(/opt/iobroker/node_modules/sqlite3/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
                  node-pre-gyp ERR! stack     at emitTwo (events.js:106:13)
                  node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
                  node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:920:16)
                  node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)
                  node-pre-gyp ERR! System Linux 3.4.108-bananian
                  node-pre-gyp ERR! command "/usr/local/bin/node" "/opt/iobroker/node_modules/sqlite3/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
                  node-pre-gyp ERR! cwd /opt/iobroker/node_modules/sqlite3
                  node-pre-gyp ERR! node -v v6.12.2
                  node-pre-gyp ERR! node-pre-gyp -v v0.6.31
                  node-pre-gyp ERR! not ok
                  Failed to execute '/usr/local/bin/node /opt/iobroker/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/opt/iobroker/node_modules/sqlite3/lib/binding/node-v48-linux-arm/node_sqlite3.node --module_name=node_sqlite3 --module_path=/opt/iobroker/node_modules/sqlite3/lib/binding/node-v48-linux-arm' (1)
                  iobroker@1.0.0 /opt/iobroker
                  └─┬ iobroker.sql@1.5.8
                    ├─┬ mssql@3.3.0
                    │ ├── generic-pool@2.5.4
                    │ ├─┬ promise@7.3.1
                    │ │ └── asap@2.0.6
                    │ └─┬ tedious@1.14.0
                    │   ├─┬ babel-runtime@5.8.38
                    │   │ └── core-js@1.2.7
                    │   ├── big-number@0.3.1
                    │   ├── bl@1.2.1
                    │   ├─┬ readable-stream@2.3.3
                    │   │ ├── isarray@1.0.0
                    │   │ └── string_decoder@1.0.3
                    │   └── sprintf@0.1.5
                    ├─┬ mysql@2.15.0
                    │ ├── bignumber.js@4.0.4
                    │ ├─┬ readable-stream@2.3.3
                    │ │ ├── isarray@1.0.0
                    │ │ └── string_decoder@1.0.3
                    │ └── sqlstring@2.3.0
                    ├─┬ pg@6.4.2
                    │ ├── buffer-writer@1.0.1
                    │ ├── js-string-escape@1.0.1
                    │ ├── packet-reader@0.3.1
                    │ ├── pg-connection-string@0.1.3
                    │ ├─┬ pg-pool@1.8.0
                    │ │ └── generic-pool@2.4.3
                    │ ├─┬ pg-types@1.13.0
                    │ │ ├── pg-int8@1.0.1
                    │ │ ├── postgres-array@1.0.2
                    │ │ ├── postgres-bytea@1.0.0
                    │ │ ├── postgres-date@1.0.3
                    │ │ └── postgres-interval@1.1.1
                    │ ├─┬ pgpass@1.0.2
                    │ │ └── split@1.0.1
                    │ └── semver@4.3.2
                    └─┬ sql-client@0.7.0
                      ├── argf@0.0.1
                      ├─┬ inote-util@0.8.1
                      │ ├─┬ nconf@0.7.2
                      │ │ ├── async@0.9.2
                      │ │ ├── ini@1.3.5
                      │ │ └─┬ yargs@3.15.0
                      │ │   ├── camelcase@1.2.1
                      │ │   ├─┬ cliui@2.1.0
                      │ │   │ ├─┬ center-align@0.1.3
                      │ │   │ │ ├─┬ align-text@0.1.4
                      │ │   │ │ │ ├─┬ kind-of@3.2.2
                      │ │   │ │ │ │ └── is-buffer@1.1.6
                      │ │   │ │ │ ├── longest@1.0.1
                      │ │   │ │ │ └── repeat-string@1.6.1
                      │ │   │ │ └── lazy-cache@1.0.4
                      │ │   │ └── right-align@0.1.3
                      │ │   └── window-size@0.1.4
                      │ ├── node-uuid@1.4.8
                      │ ├─┬ remove@0.1.5
                      │ │ └─┬ seq@0.3.5
                      │ │   ├─┬ chainsaw@0.0.9
                      │ │   │ └── traverse@0.3.9
                      │ │   └── hashish@0.0.4
                      │ └── seedrandom@2.4.3
                      └─┬ optimist@0.6.1
                        └── wordwrap@0.0.2
                  
                  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: sqlite3@3.1.7 (node_modules/sqlite3):
                  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: sqlite3@3.1.7 install: `node-pre-gyp install --fallback-to-build`
                  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1</anonymous></file:> 
                  
                  1 Reply Last reply Reply Quote 0
                  • apollon77
                    apollon77 last edited by

                    Also in jedem Fall funktioniert das kompilieren von sqlite nicht … Mich wundert das er "cc1" nimmt. Komisch.

                    Mach bitte mal auf dem Linux System (ist doch eins?!) ein

                    apt-get install build-essential

                    und versuchs nochmal (falls das nicht schon drauf ist).

                    1 Reply Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky last edited by

                      hallo schon gemacht - verändert nichts

                      1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky last edited by

                        was meinst du mit:

                        Mich wundert das er "cc1" nimmt

                        kannn man das ändern (was immer das auch bedeutet)

                        1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky last edited by

                          neuigkeiten

                          sql.0	2017-12-11 10:57:57.754	info	Connected to mysql
                          

                          es funktioniert wieder

                          node deinstall und install - node 4.8.7 npm 2.15.11

                          würdest du mir noch bitte eine frage beantworten:

                          ich würde gerne folgenden befehl über javascript senden: 'UPDATE coll SET aufgabe2 = "1" WHERE name = "fx6300"'

                          wie mache ich soetwas - der iobroker-sql-user hat alle rechte in der datenbank

                          das funktioniert nicht(ich habe die iobroker datenbank in eine existierende mit eingefügt - dort gibt es coll!):

                          sendTo('sql.0', 'UPDATE coll SET aufgabe2 = "1" WHERE name = "fx6300"', function (result) {...........
                          

                          wo bekomme ich node_modules/iobroker.javascript/node_modules/mysql' her - muss da etwas installiert werden oder ist meine voegehensweise voll daneben?

                          benutze ich :

                           var mysql      = require('mysql');
                           var connection = mysql.createConnection({
                            host     : 'localhost',
                            user     : '###',
                            password : '###',
                            database : 'collection'
                          });
                            connection.connect();
                          connection.query('UPDATE coll SET aufgabe2 = "1" WHERE name = "fx6300"', function (error, results, fields) {...........
                          

                          kommt folgende fehlermeldung

                          javascript.0	2017-12-11 11:15:10.054	error	at script.js.common.SQLEnergiesparenphp:2:24
                          javascript.0	2017-12-11 11:15:10.052	error	script.js.common.SQLEnergiesparenphp: TypeError: Cannot read property 'createConnection' of undefined
                          javascript.0	2017-12-11 11:15:10.018	error	at script.js.common.SQLEnergiesparenphp:1:18
                          javascript.0	2017-12-11 11:15:10.016	error	script.js.common.SQLEnergiesparenphp: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/mysql'
                          

                          wo ist mein denkfehler?

                          1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 last edited by

                            Da fehlt das "Kommando" für das sendTo …

                            https://github.com/ioBroker/ioBroker.sql#custom-queries

                            In dem Fall "query" als zweiten Parameter

                            1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky last edited by

                              vielen dank für deine hilf

                              richtiger befehl:

                              sendTo('sql.0', 'query'  'UPDATE iobroker.coll SET aufgabe2 = "1" WHERE name = "fx6300"', function (result) {...........
                              

                              man muss wohl auch noch die datenbank angeben (iobroker.coll oder iobroker.datapoints) sonst geht bei mir nix

                              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

                              650
                              Online

                              32.1k
                              Users

                              80.7k
                              Topics

                              1.3m
                              Posts

                              2
                              13
                              2114
                              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