forum.bitel.ru http://forum.bitel.ru/ |
|
[6.1] Ошибки Inet-Access http://forum.bitel.ru/viewtopic.php?f=44&t=10996 |
Страница 1 из 1 |
Автор: | Phricker [ 16 окт 2015, 15:38 ] |
Заголовок сообщения: | [6.1] Ошибки Inet-Access |
Можно как то от этих ошибок избавиться? Скорее всего в User-Name приходит, что-то что ему не нравится. Код: access 10-16/07:08:41 ERROR [auth-error-worker] BatchWorker - java.sql.SQLException: Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
ru.bitel.bgbilling.common.BGException: java.sql.SQLException: Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' at ru.bitel.bgbilling.modules.inet.api.server.bean.InetAuthErrorDao.addError(InetAuthErrorDao.java:272) at ru.bitel.bgbilling.modules.inet.access.InetAuthErrorWorker.doTask(InetAuthErrorWorker.java:137) at ru.bitel.bgbilling.modules.inet.access.InetAuthErrorWorker.doTask(InetAuthErrorWorker.java:1) at ru.bitel.common.worker.BatchWorker.internalDoTask(BatchWorker.java:166) at ru.bitel.common.worker.BatchWorker.doTasks(BatchWorker.java:145) at ru.bitel.bgbilling.modules.inet.access.InetAuthErrorWorker.runWorker(InetAuthErrorWorker.java:113) at ru.bitel.common.worker.BatchWorker.internalRunWorker(BatchWorker.java:101) at ru.bitel.common.worker.BatchWorker.runImpl(BatchWorker.java:51) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:54) at java.lang.Thread.run(Thread.java:745) Caused by: java.sql.SQLException: Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1084) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4232) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4164) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2776) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2838) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2082) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2334) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2262) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2246) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at ru.bitel.bgbilling.server.util.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:109) at ru.bitel.bgbilling.modules.inet.api.server.bean.InetAuthErrorDao.addError(InetAuthErrorDao.java:192) ... 9 more |
Автор: | stark [ 16 окт 2015, 15:41 ] |
Заголовок сообщения: | Re: [6.1] Ошибки Inet-Access |
что в data.properties в db.url |
Автор: | Amir [ 16 окт 2015, 15:43 ] |
Заголовок сообщения: | Re: [6.1] Ошибки Inet-Access |
Покажите SHOW CREATE TABLE inet_auth_error_<mid>_201510 |
Автор: | dimOn [ 16 окт 2015, 15:44 ] |
Заголовок сообщения: | Re: [6.1] Ошибки Inet-Access |
и вот это заодно: Код: SHOW VARIABLES LIKE 'character_set%'; Код: SHOW VARIABLES LIKE 'colla%';
|
Автор: | Phricker [ 16 окт 2015, 15:52 ] |
Заголовок сообщения: | Re: [6.1] Ошибки Inet-Access |
stark, это ж InetAccess там нет data.properties ![]() ![]() Код: <!-- Параметры подключения к БД --> <param name="db.driver" value="com.mysql.jdbc.Driver"/> <param name="db.url" value="jdbc:mysql://10.0.6.5/bgbilling?useUnicode=true&characterEncoding=UTF-8&allowUrlInLocalInfile=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&queryTimeoutKillsConnection=true&connectTimeout=1000"/> Код: inet_auth_error_12_201510 | CREATE TABLE `inet_auth_error_12_201510` ( `id` int(11) NOT NULL AUTO_INCREMENT, `deviceId` int(11) NOT NULL, `deviceTitle` char(15) NOT NULL, `contractId` int(11) NOT NULL, `contractTitle` char(15) NOT NULL, `servId` int(11) NOT NULL, `hash` int(11) NOT NULL DEFAULT '0', `servTitle` char(100) NOT NULL, `code` int(11) NOT NULL, `count` int(11) NOT NULL DEFAULT '1', `lastTime` datetime NOT NULL, `logCoordinateRecordId` int(11) NOT NULL, KEY `id` (`id`), KEY `deviceId` (`deviceId`), KEY `lastTime` (`lastTime`), KEY `time_dcsc` (`lastTime`,`deviceId`,`contractId`,`servId`,`code`,`hash`) ) ENGINE=InnoDB AUTO_INCREMENT=686166 DEFAULT CHARSET=cp1251 /*!50100 PARTITION BY RANGE (TO_DAYS(lastTime)) (PARTITION p20151001 VALUES LESS THAN (736242) ENGINE = InnoDB, PARTITION p20151006 VALUES LESS THAN (736247) ENGINE = InnoDB, PARTITION p20151011 VALUES LESS THAN (736252) ENGINE = InnoDB, PARTITION p20151016 VALUES LESS THAN (736257) ENGINE = InnoDB, PARTITION p20151021 VALUES LESS THAN (736262) ENGINE = InnoDB, PARTITION p20151026 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ | Код: mysql> SHOW VARIABLES LIKE 'character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | cp1251 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | cp1251 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec) Код: mysql> SHOW VARIABLES LIKE 'colla%'; +----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | utf8_general_ci | | collation_database | cp1251_general_ci | | collation_server | cp1251_general_ci | +----------------------+-------------------+ 3 rows in set (0.00 sec) collation_database и collation_server тянутся еще с 5.1(2), скорее всего. Я так понимаю, что рекомендацией будет перевести в my.cnf все в UTF-8, поменять db.url в настройках всех приложений (в BGBillingServer/data/data.properties у меня стоит cp1251 в db.url ). |
Автор: | dimOn [ 16 окт 2015, 15:59 ] |
Заголовок сообщения: | Re: [6.1] Ошибки Inet-Access |
ну проблема в том что collation_connection берётся utf8_general_ci, а не должно быть так, т.к. всё в остальном месте вроде как 1251 |
Автор: | dimOn [ 16 окт 2015, 16:00 ] |
Заголовок сообщения: | Re: [6.1] Ошибки Inet-Access |
characterEncoding=UTF-8 надо поменять на старый значений в инструкции по переходу где-то есть про такое. в доку сейчас отдельно отмечу |
Автор: | Phricker [ 16 окт 2015, 16:23 ] |
Заголовок сообщения: | Re: [6.1] Ошибки Inet-Access |
А можно потом ссылкой кинуть ![]() |
Автор: | ok-2004 [ 16 окт 2015, 19:02 ] |
Заголовок сообщения: | Re: [6.1] Ошибки Inet-Access |
кинусь и я до кучи: http://gahcep.github.io/blog/2013/01/05/mysql-utf8/ |
Автор: | Phricker [ 16 окт 2015, 22:40 ] |
Заголовок сообщения: | Re: [6.1] Ошибки Inet-Access |
ok-2004, благодарю, гляну более подробно обязательно. Просто как я уже сказал, все это тянется еще с очень старых версий где был cp1252 ![]() dimon, я правильно понимаю, что на текущий момент мне будет достаточно в inet-access.xml поменять строку в db.url? |
Автор: | dimOn [ 17 окт 2015, 13:00 ] |
Заголовок сообщения: | Re: [6.1] Ошибки Inet-Access |
тут http://docs.bitel.ru/pages/viewpage.act ... Id=1605652 |
Автор: | dimOn [ 17 окт 2015, 13:00 ] |
Заголовок сообщения: | Re: [6.1] Ошибки Inet-Access |
не знаю насчёт отношения "достаточно", но "необходимо" по крайней мере |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |