Fehler nach Umstieg auf DBLog, execute_array in 93_DBLog.pm Zeile 3179

Begonnen von Heiner33, 11 Februar 2023, 21:15:51

Vorheriges Thema - Nächstes Thema

DS_Starter

#15
Die neue DbLog Version ist eingecheckt und morgen früh im Update enthalten.

Um den Usern die Administration zu erleichtern, wird morgen früh ebenfalls eine DbRep Version ausgerollt, die utf8mb4 unterstützt und durch einen Setter "migrateCollation" die einfache Migration der bestehenden MySQL/MariaDB-Datenbank nach utf8mb4 ausführen kann.

Im configCheck wird man darauf hingewiesen:

Result of collation check

Collation used by Client (connection): UTF8_BIN
Collation used by DB fhemtest1: UTF8_BIN
Rating: ....
Recommendation: The collation of the database should be changed to 'utf8mb4_bin' so that umlauts and all special characters can be stored.
You can easy do that with the DbRep command set <DbRep-Device> migrateCollation utf8mb4_bin.
Your DBD version fulfills UTF8 support, no need to update DBD.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

betateilchen

#16
Hallo Heiko,

hast Du mal den configCheck probiert, wenn die FHEM Installation nicht über den regulären update-Prozess von FHEM gepflegt wird?


Result of version check

Used Perl version: 5.32.1
Used DBI (Database independent interface) version: 1.643
Used DBD (Database driver) version mysql: 4.050
Rating:
Recommendation: ERROR - check of new DbLog version not possible, see logfile.. Your DBD version fulfills UTF8 support, no need to update DBD.

Used DbLog version: 5.8.1.

Rating:
Recommendation: No update of DbLog is needed. Your DBD version fulfills UTF8 support, no need to update DBD.



2023.02.17 23:36:57 1: DbLog dbLog - configCheck: can't open ./FHEM/controls_fhem.txt: No such file or directory
2023.02.17 23:36:57 1: PERL WARNING: Use of uninitialized value $uptb in concatenation (.) or string at ./FHEM/93_DbLog.pm line 7070.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DS_Starter

Nein, hatte ich noch nicht probiert.
Danke für den Hinweis Udo, schaue mir mal an wie ich das fixen kann.

Schönes Wochende!

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

betateilchen

Nur keinen Streß. Es funktioniert ja trotzdem alles.

Eben hatte ich zum ersten Mal in meinem FHEM-Leben überhaupt den configCheck ausgeführt, weil mich einfach mal interessiert hatte, was da eigentlich als Ergebnis kommt.
Bisher habe ich den nie gebraucht und ich denke, ich werde das auch künftig nicht brauchen.

Insofern: wegen mir musst Du das nicht fixen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DS_Starter

Naja, vllt. geht es ja einfach. Ich liebe es wenn alles läuft bzw. einen sauberen Exit liefert .  ;)
Ich habe dir mal einen Screenshot gemacht was da so kommt.

GN
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Heiner33

Hallo,

ich habe da vielleicht nochmal einen (Folge?)Fehler bemerkt:
Die "Value"-Spalte in der history Tabelle hat ja standardmäßig 128 Zeichen. Jetzt hatte ich den Fall, dass ein "ü" gerade an Stelle 128 im Value auftaucht und dieses dann vermutlich zwischen den zwei UTF-8 Bytes 0xC3 und 0xBC abgeschnitten wurde. Das sorgte dann für einen Fehler beim Einfügen in die Datenbank.
Sorry, ist etwas laienhaft ausgedrückt, aber du weißt bestimmt, was ich meine :-)

Zitat2023.02.25 14:22:27.263 2: DbLog DbLog - ERROR table history - DBD::mysql::st execute failed: Incorrect string value: '\xC3' for column `fhem`.`history`.`VALUE` at row 1 [for Statement "INSERT INTO history (TIMESTAMP, DEVICE, TYPE, EVENT, READING, VALUE, UNIT) VALUES (?,?,?,?,?,?,?)" with ParamValues: 0='2023-02-25 14:22:26', 1='httpmod_mediacenter_epg', 2='HTTPMOD', 3='02_show: Unsere kleine Farm - Harriet Olesons entfernter Cousin Sterling Murdoch kommt in die Stadt und will dort die erste Zeitung einführen.', 4='02_show', 5='Unsere kleine Farm - Harriet Olesons entfernter Cousin Sterling Murdoch kommt in die Stadt und will dort die erste Zeitung einf�', 6=undef] at ./FHEM/93_DbLog.pm line 2910.

Danke und Grüße

DS_Starter

Du kannst dir die VALUE Spalte auf eine Breite setzen die du benötist.
Dazu das Attr colValue  benutzen, z.B.:


colValue = 2000


Dann musst du nur noch die Breite in der DB auch so setzen.
Einfach "get ... configCheck" aufrufen. Dann wird die Diskrepanz festgestellt und dir das Statement zur Anpassung der Spaltenbreite mitgeteilt.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter