ich habe mich nun fast einen ganzen tag mit dem update von OH2.5 auf OH3.2 beschäftigt.
ausgangszustand ist ein win10 system mit OH2.5 (vor langer zeit mal OH1.x) mit lokaler mariadb (von xampp).
sämtliche OH1 addons wurden schon im frühjahr entfernt, es lief recht gut.
also neuen ordner angelegt OH3 dort ein, und java11 in einen ordner.
dann den path und die java_home angepasst und OH3 das erste mal gestartet. -> alles ok, wieder beendet
dann die config der services von OH2 nach OH3 und neu gestartet. -> alles ok, wieder beendet
nun die restliche config von OH2 nach OH3, dabei die mysql.persist in jdbc.persist umbenannt und die nötigen einstellung in der jdbc.cfg gemacht.
sowie diese parameter gesetzt:
Code: Alles auswählen
url = jdbc:mariadb://127.0.0.1:3306/openhab3?useSSL=false
tableNamePrefix=Item
tableUseRealItemNames=false
tableIdDigitCount=0
im log steht:
Code: Alles auswählen
[INFO ] [persistence.jdbc.internal.JdbcMapper] - JDBC::openConnection: Driver is available::Yank setupDataSource
Code: Alles auswählen
[WARN ] [org.openhab.core.items.GenericItem ] - failed notifying listener 'org.openhab.core.persistence.internal.PersistenceManagerImpl@ff7fa85' about state update of item SOL_ve2_pvu: class java.lang.Integer cannot be cast to class java.lang.Long (java.lang.Integer and java.lang.Long are in module java.base of loader 'bootstrap')
java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long (java.lang.Integer and java.lang.Long are in module java.base of loader 'bootstrap')
at org.openhab.persistence.jdbc.db.JdbcMariadbDAO.doPingDB(JdbcMariadbDAO.java:92) ~[?:?]
at org.openhab.persistence.jdbc.internal.JdbcMapper.pingDB(JdbcMapper.java:72) ~[?:?]
at org.openhab.persistence.jdbc.internal.JdbcMapper.checkDBAccessability(JdbcMapper.java:211) ~[?:?]
at org.openhab.persistence.jdbc.internal.JdbcPersistenceService.store(JdbcPersistenceService.java:136) ~[?:?]
at org.openhab.core.persistence.internal.PersistenceManagerImpl.handleStateEvent(PersistenceManagerImpl.java:152) ~[?:?]
at org.openhab.core.persistence.internal.PersistenceManagerImpl.stateChanged(PersistenceManagerImpl.java:473) ~[?:?]
at org.openhab.core.items.GenericItem.lambda$1(GenericItem.java:259) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
über die console habe ich das versucht:
Code: Alles auswählen
openhab> list -s | grep jdbc
243 │ Active │ 80 │ 3.2.0 │ org.openhab.persistence.jdbc
272 │ Active │ 80 │ 1.4.6.0 │ org.mariadb.jdbc
ich habe das ganze nun auf einem 2. rechner getestet mit dem selben ergebniss.
außerdem habe ich mal eine neue leere DB angelegt, selbes ergebniss. (es wird von OH3 keine tabelle erzeugt und kein item angelegt.)
dann habe ich mal die xampp DB deaktiviert und die richtige maria-db installiert, selbes ergebniss.
ich habe die rechte der benutzer in den datenbanken auf 127.0.0.1 sowie % und localhost ausgedehnt, selbses ergebniss.
in einem anderen forum habe ich gefunden, das es wohl derzeit weder mit mysql noch mit mariadb möglich ist über jdbc auf die datenbank zuzugreifen.
im fall von mysql scheint das tatsächlich der fall zu sein, da weder der treiber aktiv wird und bei dem versuch im log dieses erscheint:
Code: Alles auswählen
[WARN ] [.zaxxer.hikari.util.DriverDataSource] - Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.
wache ich etwas falsch ?
geht das unter windows möglicher weise nicht ?
hat jemand einen tipp oder gar eine lösung für mich ?
danke vorab
a.h.