Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / РВ и Оракл, странные округления / 15 сообщений из 15, страница 1 из 1
03.12.2010, 18:09
    #36994331
tiger_sc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
В общем, проблема появилась, насколько помню, при переходе на Оркл-10. Проблема мелкая, не сильно критичная, но досадная и назойливая. При заполнении полей датавиндова через Initial округляются вещественные числа, описанные в стрруктуре БД типом NUMBER без указания точности. При заполнении руками в датавиндове данные сохраняются нормально, проблема только с Initial. Также нормально обрабатываются поля, описаные с указанием точности, например NUMBER(15,6). Т.е. проблема, похоже, в том, что при наложении формата при инициализации поля РВ считает данный тип целым, а не вещественным. Да, РВ версии 10.5. Кто сталкивался с этой проблемой и как её решал? Может какие настройки в БД-профиле есть? Я не нашёл. Может настройки ораклового клиента какие-то нужны?
...
Рейтинг: 0 / 0
03.12.2010, 19:11
    #36994453
tiger_sc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
В общем, одно решение уже нашёл, не очень элегантное. После зоздания датавиндова открыть его исходник и поправить там тип number на decimal.
...
Рейтинг: 0 / 0
03.12.2010, 21:09
    #36994572
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
А что ты хотел от PB если ты в структуре БД размерность не указал, естественно получаешь целое
...
Рейтинг: 0 / 0
03.12.2010, 21:56
    #36994631
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
spas2001А что ты хотел от PB если ты в структуре БД размерность не указал, естественно получаешь целое
В Оракле number без размерности - это не int, а real (дробное с плавающей точкой).
...
Рейтинг: 0 / 0
04.12.2010, 12:03
    #36994957
tiger_sc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
Ситуация усугубилась: шеф сказал, что так, как сделал я, делать ни в коем случае нильзя, мол я сломал тип в датавиндове и форма будет некорректно работать. Пришлось всё вертать взад и теперь я опять в недоумении...
...
Рейтинг: 0 / 0
04.12.2010, 14:41
    #36995062
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
А не зависит ли эта проблема от региональных настроек на клиенте в момент создания DW (разделитель дробной и целой части "," или ".") ?
...
Рейтинг: 0 / 0
04.12.2010, 17:30
    #36995182
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
Анатолий, для Оракла - да, а PB в момент создания, такие вещи может не понимать. Кстати из-за настроек локали тоже такое возможно. Надо проверять
...
Рейтинг: 0 / 0
06.12.2010, 10:43
    #36996580
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
tiger_scСитуация усугубилась: шеф сказал, что так, как сделал я, делать ни в коем случае нильзя, мол я сломал тип в датавиндове и форма будет некорректно работать. Пришлось всё вертать взад и теперь я опять в недоумении...
Работать будет, не будет работать sharedata. Насколько я знаю все численные данные в Оракле содержатся в типе decimal.
Поскольку у меня система русская, то я явно использую DecimalSeparator='.'
...
Рейтинг: 0 / 0
06.12.2010, 11:55
    #36996773
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
кстати
просто NUMBER=number(7,0) для Оракла, но это может изменить ДБА.
...
Рейтинг: 0 / 0
06.12.2010, 12:03
    #36996790
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
sboykoкстати
просто NUMBER=number(7,0) для Оракла, но это может изменить ДБА.

Откуда дровишки?
И про (7,0) и про "может изменить ДБА"???
...
Рейтинг: 0 / 0
06.12.2010, 13:27
    #36997056
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
tru55Откуда дровишки?
И про (7,0) и про "может изменить ДБА"???

Тоже, очень интересно узнать
...
Рейтинг: 0 / 0
06.12.2010, 18:03
    #36997875
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
sboykoкстати
просто NUMBER=number(7,0) для Оракла, но это может изменить ДБА.
Разве что в каких-то древних версиях, до семерки, и то - сомневаюсь.
...
Рейтинг: 0 / 0
06.12.2010, 19:18
    #36998020
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
tru55sboykoкстати
просто NUMBER=number(7,0) для Оракла, но это может изменить ДБА.

Откуда дровишки?
И про (7,0) и про "может изменить ДБА"???

Здравствуйте уважаемый tru55!
Раньше точно так было и про (7,0) про ДБА!
Где то с 96 по 99 годы! тогда я и был ДБА! :-)

А если знаете что сейчас по другому - так просветите темных! :-)
...
Рейтинг: 0 / 0
06.12.2010, 20:02
    #36998078
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
sboykoЗдравствуйте уважаемый tru55!
Раньше точно так было и про (7,0) про ДБА!
Где то с 96 по 99 годы! тогда я и был ДБА! :-)

А если знаете что сейчас по другому - так просветите темных! :-)
Не только сейчас, но и как минимум с 7.3 было по-другому.
А именно - number без размерностей означал максимальную размерность (38 цифр мантиссы) и хранился как число с плав. точкой (double).
http://download.oracle.com/docs/cd/A57673_01/DOC/server/doc/SQL73/ch2.htm#sqllrmscnumdat

(7,0) - это что-то непонятно откуда взятое, поскольку данная размерность никак не может претендовать на значение по умолчанию.
...
Рейтинг: 0 / 0
06.12.2010, 20:12
    #36998093
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
РВ и Оракл, странные округления
Anatoly MoskovskysboykoЗдравствуйте уважаемый tru55!
Раньше точно так было и про (7,0) про ДБА!
Где то с 96 по 99 годы! тогда я и был ДБА! :-)

А если знаете что сейчас по другому - так просветите темных! :-)
Не только сейчас, но и как минимум с 7.3 было по-другому.
А именно - number без размерностей означал максимальную размерность (38 цифр мантиссы) и хранился как число с плав. точкой (double).
http://download.oracle.com/docs/cd/A57673_01/DOC/server/doc/SQL73/ch2.htm#sqllrmscnumdat

(7,0) - это что-то непонятно откуда взятое, поскольку данная размерность никак не может претендовать на значение по умолчанию.
Да действительно 38 разрядов... Но ведь что то было целое по умолчанию. Значит забыл напрочь. :-(
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / РВ и Оракл, странные округления / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]