Ошибки при входе перса

uter81

Пляшущий с бубном
Участник
Сообщения
197
Розыгрыши
0
Репутация
0
Реакции
9
Баллы
280
Хроники
  1. Prologue: Prelude of War
Исходники
Присутствуют
Сборка
L2jmobius
Подскажите, бьет ошибку когда перс входит в игру, вероятно что то в таблицах базы не корректно. Подскажите на что ругается .

Код:
 Could not store character shortcut: (conn=71830) Out of range value for column 'level' at row 1
java.sql.SQLSyntaxErrorException: (conn=71830) Out of range value for column 'level' at row 1
 at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62)
 at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:158)
 at org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:266)
 at org.mariadb.jdbc.ClientSidePreparedStatement.executeInternal(ClientSidePreparedStatement.java:229)
 at org.mariadb.jdbc.ClientSidePreparedStatement.execute(ClientSidePreparedStatement.java:149)
 at org.l2jmobius.gameserver.model.ShortCuts.registerShortCutInDb(ShortCuts.java:99)
 at org.l2jmobius.gameserver.model.ShortCuts.registerShortCut(ShortCuts.java:78)
 at org.l2jmobius.gameserver.model.actor.Player.registerShortCut(Player.java:1746)
 at org.l2jmobius.gameserver.network.clientpackets.RequestShortCutReg.runImpl(RequestShortCutReg.java:148)
 at org.l2jmobius.gameserver.network.clientpackets.ClientPacket.run(ClientPacket.java:53)
 at org.l2jmobius.commons.threads.RunnableWrapper.run(RunnableWrapper.java:35)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
 at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.mariadb.jdbc.internal.util.exceptions.MariaDbSqlException: Out of range value for column 'level' at row 1
 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)
 ... 10 more
Caused by: java.sql.SQLException: Out of range value for column 'level' at row 1
 at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readErrorPacket(AbstractQueryProtocol.java:1695)
 at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1557)
 at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1520)
 at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:318)
 ... 11 more
 
GPT

Эта ошибка указывает на проблему с вводимым значением для столбца 'level' при выполнении SQL-запроса в вашей базе данных MariaDB. Столбец 'level' имеет ограничение диапазона значений, и вводимое значение выходит за пределы этого диапазона.

Наиболее вероятной причиной является то, что вы пытаетесь вставить или обновить запись в базе данных, и введенное значение для столбца 'level' находится вне разрешенного диапазона.

Чтобы решить эту проблему, убедитесь, что вводимые значения для столбца 'level' находятся в пределах допустимого диапазона значений. Если это не помогает, рекомендуется проверить схему вашей базы данных и убедиться, что она соответствует ожидаемой структуре данных. Возможно, в схеме базы данных есть устаревшие или некорректные ограничения.
Подскажите, бьет ошибку когда перс входит в игру, вероятно что то в таблицах базы не корректно. Подскажите на что ругается .

Код:
 Could not store character shortcut: (conn=71830) Out of range value for column 'level' at row 1
java.sql.SQLSyntaxErrorException: (conn=71830) Out of range value for column 'level' at row 1
 at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62)
 at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:158)
 at org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:266)
 at org.mariadb.jdbc.ClientSidePreparedStatement.executeInternal(ClientSidePreparedStatement.java:229)
 at org.mariadb.jdbc.ClientSidePreparedStatement.execute(ClientSidePreparedStatement.java:149)
 at org.l2jmobius.gameserver.model.ShortCuts.registerShortCutInDb(ShortCuts.java:99)
 at org.l2jmobius.gameserver.model.ShortCuts.registerShortCut(ShortCuts.java:78)
 at org.l2jmobius.gameserver.model.actor.Player.registerShortCut(Player.java:1746)
 at org.l2jmobius.gameserver.network.clientpackets.RequestShortCutReg.runImpl(RequestShortCutReg.java:148)
 at org.l2jmobius.gameserver.network.clientpackets.ClientPacket.run(ClientPacket.java:53)
 at org.l2jmobius.commons.threads.RunnableWrapper.run(RunnableWrapper.java:35)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
 at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.mariadb.jdbc.internal.util.exceptions.MariaDbSqlException: Out of range value for column 'level' at row 1
 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)
 ... 10 more
Caused by: java.sql.SQLException: Out of range value for column 'level' at row 1
 at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readErrorPacket(AbstractQueryProtocol.java:1695)
 at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1557)
 at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1520)
 at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:318)
 ... 11 more
 
Подскажите, бьет ошибку когда перс входит в игру, вероятно что то в таблицах базы не корректно. Подскажите на что ругается .

Код:
 Could not store character shortcut: (conn=71830) Out of range value for column 'level' at row 1
java.sql.SQLSyntaxErrorException: (conn=71830) Out of range value for column 'level' at row 1
 at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62)
 at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:158)
 at org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:266)
 at org.mariadb.jdbc.ClientSidePreparedStatement.executeInternal(ClientSidePreparedStatement.java:229)
 at org.mariadb.jdbc.ClientSidePreparedStatement.execute(ClientSidePreparedStatement.java:149)
 at org.l2jmobius.gameserver.model.ShortCuts.registerShortCutInDb(ShortCuts.java:99)
 at org.l2jmobius.gameserver.model.ShortCuts.registerShortCut(ShortCuts.java:78)
 at org.l2jmobius.gameserver.model.actor.Player.registerShortCut(Player.java:1746)
 at org.l2jmobius.gameserver.network.clientpackets.RequestShortCutReg.runImpl(RequestShortCutReg.java:148)
 at org.l2jmobius.gameserver.network.clientpackets.ClientPacket.run(ClientPacket.java:53)
 at org.l2jmobius.commons.threads.RunnableWrapper.run(RunnableWrapper.java:35)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
 at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.mariadb.jdbc.internal.util.exceptions.MariaDbSqlException: Out of range value for column 'level' at row 1
 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)
 ... 10 more
Caused by: java.sql.SQLException: Out of range value for column 'level' at row 1
 at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readErrorPacket(AbstractQueryProtocol.java:1695)
 at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1557)
 at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1520)
 at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:318)
 ... 11 more
DROP TABLE IF EXISTS `character_shortcuts`;
CREATE TABLE IF NOT EXISTS `character_shortcuts` (
`charId` INT UNSIGNED NOT NULL DEFAULT 0,
`slot` decimal(3) NOT NULL DEFAULT 0,
`page` decimal(3) NOT NULL DEFAULT 0,
`type` decimal(3) ,
`shortcut_id` decimal(16) ,
- `level` SMALLINT UNSIGNED ,
+ `level` MEDIUMINT UNSIGNED ,
`sub_level` INT(4) NOT NULL DEFAULT '0',
`class_index` int(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`charId`,`slot`,`page`,`class_index`),
KEY `shortcut_id` (`shortcut_id`)
) DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
 
Зачем всю таблицу дропать и пересоздавать заново, если можно просто поменять тип нужного поля...
SQL:
ALTER TABLE `character_shortcuts` CHANGE `level` `level` mediumint unsigned AFTER `shortcut_id`;
 
Последнее редактирование:
Зачем всю таблицу дропать и пересоздавать заново, если можно просто поменять тип нужного поля...
SQL:
ALTER TABLE `character_shortcuts` CHANGE `level` `level` mediumint unsigned AFTER `shortcut_id`;
я просто уму скинул патч который дал мобиус по решению этой проблемы

а дропат ьили нет это на его усмотрение. когда можно убрать 1 галочку и поставить вместо смалл инт медиум.
 
поменял тип поля, все получилось ! спасибо всем за помощь!
 
Назад
Сверху Снизу