in un db mariadb (mysql) ho una view (vista), dove tra i vari campi da visualizzare c'è la seguente istruzione
in pratica sql converte il valore del campo importo "FLOAT (9, 2)" dal formato 1234.56 in 1.234,56
il tutto funziona bene, ma installando il file jar del progetto presso il cliente (win10 64bit, stessa versione java, stessa versione mariadb),
va in crash e mi ritorna questo (uno stralcio del log):
sembra che la causa sia da individuare nel "set" utf8.....bla....bla....
in rete ho trovato tanti forum con questo tipo di errore, e pur tentando con qualche modifica al db (tipo di "set") non ho risolto.
chiaramente se nella "view" del db tolgo le istruzione REPLACE, funziona
B4X:
REPLACE(REPLACE(REPLACE(FORMAT(importo, 2), ".", "p"), ",", "."), "p", ",") As netto
il tutto funziona bene, ma installando il file jar del progetto presso il cliente (win10 64bit, stessa versione java, stessa versione mariadb),
va in crash e mi ritorna questo (uno stralcio del log):
B4X:
java.sql.SQLTransientConnectionException: (conn=54) Illegal mix of collations (utf8mb4_unicode_ci,COERCIBLE), (utf8mb4_general_ci,COERCIBLE), (utf8mb4_general_ci,COERCIBLE) for operation 'replace'
at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:79)
at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:153)
.....
.....
....
Caused by: org.mariadb.jdbc.internal.util.exceptions.MariaDbSqlException: Illegal mix of collations (utf8mb4_unicode_ci,COERCIBLE), (utf8mb4_general_ci,COERCIBLE), (utf8mb4_general_ci,COERCIBLE) for operation 'replace'
at org.mariadb.jdbc.internal.util.exceptions.MariaDbSqlException.of(MariaDbSqlException.java:34)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.exceptionWithQuery(AbstractQueryProtocol.java:194)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.exceptionWithQuery(AbstractQueryProtocol.java:177)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:321)
at org.mariadb.jdbc.ClientSidePreparedStatement.executeInternal(ClientSidePreparedStatement.java:220)
... 9 more
Caused by: java.sql.SQLException: Illegal mix of collations (utf8mb4_unicode_ci,COERCIBLE), (utf8mb4_general_ci,COERCIBLE), (utf8mb4_general_ci,COERCIBLE) for operation 'replace'
sembra che la causa sia da individuare nel "set" utf8.....bla....bla....
in rete ho trovato tanti forum con questo tipo di errore, e pur tentando con qualche modifica al db (tipo di "set") non ho risolto.
chiaramente se nella "view" del db tolgo le istruzione REPLACE, funziona