forum.bitel.ru http://forum.bitel.ru/ |
|
Неправильно извлекает IP из таблицы http://forum.bitel.ru/viewtopic.php?f=22&t=2302 |
Страница 1 из 1 |
Автор: | skn [ 11 май 2009, 16:18 ] |
Заголовок сообщения: | |
замени rs.getInt( 1 ); на rs.getLong( 1 ); для int положительный max = 2147483648 |
Автор: | Chaos [ 11 май 2009, 18:16 ] |
Заголовок сообщения: | |
Благодарствую! Надо бы тогда в WIKI изменить http://wiki.bgbilling.ru/index.php/%D0%9F%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B0_ACCEPT_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE_REJECT_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B5_%D1%81_%D0%B4%D0%BE%D0%BF._%D0%B0%D1%82%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D0%B0%D0%BC%D0%B8 а то народ будет брать для примера. |
Автор: | Amir [ 11 май 2009, 20:35 ] |
Заголовок сообщения: | |
В wiki правильно, потому что он везде интерпретируется как int. А в Utils.convertIpToString( login_ip ); он интерпретируется как long, потому слетает... |
Автор: | Феанор [ 03 июн 2009, 18:26 ] |
Заголовок сообщения: | |
Тоже столкнулись с этой проблемой. Решили при поддержке хелпдеска, скрипт в вики уже поправил =) |
Автор: | Chaos [ 03 июн 2009, 19:52 ] |
Заголовок сообщения: | |
Цитата: скрипт в вики уже поправил =) Вот это вы зря. Там действительно правильно, я его потом разобрал. Для передачи в качестве радиус-атрибутов нужно его действительно извлекать как Int. Там далее стоит
Код: raIp = new RadiusAttribute( 8 ); raIp.setIntValue((int) login_ip ); |
Автор: | Феанор [ 03 июн 2009, 21:17 ] |
Заголовок сообщения: | |
ну вообще-то в базе он хранится не в инт формате, а в бигинт. и у нас этот скрипт в данном вариант работает без каких либо проблем. проверили. про будет ошибка скрипта - вы бы сначала проверили тот вариант, который я выложил и уже говорили про ошибки |
Автор: | Chaos [ 03 июн 2009, 22:58 ] |
Заголовок сообщения: | |
Ну хз... Bean Shell позволяет втыкать Long в Int? Я когда попытался извлеченный лонг скормить радиусу какие-то траблы были, точно не помню..Если работает, то можно и рукой махнуть. ![]() |
Автор: | Феанор [ 03 июн 2009, 23:21 ] |
Заголовок сообщения: | |
Chaos писал(а): Ну хз... Bean Shell позволяет втыкать Long в Int? Я когда попытался извлеченный лонг скормить радиусу какие-то траблы были, точно не помню..Если работает, то можно и рукой махнуть.
![]() raIp.setIntValue( (int)login_ip ) в скобках переменная с добавлением (инт). без этого не работает и ругается на несовместимость формата. |
Автор: | Администратор [ 04 июн 2009, 14:34 ] |
Заголовок сообщения: | |
Цитата: raIp.setIntValue( (int)login_ip )
в скобках переменная с добавлением (инт). без этого не работает и ругается на несовместимость формата. Это жесткое приведение типа, при этом бит, отведенный под знак, тоже забивается значащим битом из long. Т.е. int получается отрицательный, но хранящим нужное значение в битах. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |