Автор | Сообщение |
|
| |
Пост N: 6878
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.07.18 22:11. Заголовок: DBF -> ADT
Понадобилось конвертнуть DBF базу в формат ADT (ADS) У DBF изначально было поле "tst","N",12,0 Ну так и сделал dbCreate( "Test", {{"Tst","Numeric",12,0}} ,"ADSADT",.t.,"test") Test->(dbappend()) TEst->(browse()) Вбиваю 12 цифр и сука падает прога. или так dbCreate( "Test", {{"Tst","Integer",12,0}} ,"ADSADT",.t.,"test") Test->(dbappend()) TEst->(browse()) Вбиваю 12 цифр и снова падает прога. Делаю аналог под DBF dbCreate( "Test", {{"Tst","N",12,0}} ,"ADSCDX",.t.,"test") Test->(dbappend()) TEst->(browse()) Вбиваю 12 цифр и все норм Чего хочет ADS от меня ?
|
|
|
Новых ответов нет
[см. все]
|
|
|
| Администратор
|
Пост N: 3780
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.07.18 22:31. Заголовок: Падает с каким матюк..
Падает с каким матюком ?
|
|
|
|
| Администратор
|
Пост N: 3781
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.07.18 22:36. Заголовок: Как вариант: может в..
Как вариант: может внутреннее представление у таких типов int32. А там предельные значения: #define LONG_MAX 2147483647L /* maximum signed long value */ #define ULONG_MAX 4294967295UL /* maximum unsigned long value */ попробуй набрать 2147483647, потом 2147483648 или 4294967295, потом 4294967296 Что будет ?
|
|
|
|
| |
Пост N: 6880
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.07.18 22:44. Заголовок: Pasha пишет: Падает..
Pasha пишет: заполнил все 12 цифр и упал ADSADT/5179 Error 5179: The result value exceeded the given buffer size после с этим при конверте ADSADT/5012 Error 5012: The field definition specified for the table was not valid. Numeric length must be greater than one.
|
|
|
|
| |
Пост N: 1282
Зарегистрирован: 20.02.11
|
|
Отправлено: 20.07.18 08:54. Заголовок: https://devzone.adva..
|
|
|
|
| Администратор
|
Пост N: 3782
Зарегистрирован: 23.05.05
|
|
Отправлено: 20.07.18 11:37. Заголовок: Dima пишет: упал A..
Dima пишет: цитата: | упал ADSADT/5179 Error 5179: |
| 5179 AE_VALUE_OVERFLOW Advantage Error Guide This is the first topic This is the last topic Feedback on: Advantage Database Server - 5179 AE_VALUE_OVERFLOW Advantage Error Guide error_5179_ae_value_overflow Advantage Web Development > Advantage Ruby API Support > Advantage Ruby API Support / Dear Support Staff, Mail us feedback on this topic! 5179 AE_VALUE_OVERFLOW Advantage Error Guide This is the first topic This is the last topic Mail us feedback on this topic! Problem: The value cannot be stored in the designated column. For example: this error will be returned when attempting to store into an Integer column a numeric value that is outside the range -2,147,483,647 to 2,147,483,647. See ADT Field Types and Specification. Solution: Ensure the numeric value to be stored in a column is within the supported range or restructure (i.e., ALTER) the table to ensure that the column can stored the expected values. Чуйка таки меня не подвела. Похоже эти красавцы считают, что если нет десятичных знаков, то значение надо представлять как целое. А 64-битные целые они не сделали, и поэтому значение не влазит во внутренний формат представления. Вот тебе и сайбэз. Харбор в этом отношении куда умнее. Кстати, ads 64-битные версии имеются ?
|
|
|
|
| |
Пост N: 6881
Зарегистрирован: 17.05.05
|
|
Отправлено: 20.07.18 11:41. Заголовок: Pasha пишет: Кстати..
Pasha пишет: цитата: | Кстати, ads 64-битные версии имеются ? |
| Да
|
|
|
|
| Администратор
|
Пост N: 3783
Зарегистрирован: 23.05.05
|
|
Отправлено: 20.07.18 11:59. Заголовок: А какая версия дает ..
А какая версия дает глюк с N 12, 0 ? 32 или 64 бита ?
|
|
|
|
| |
Пост N: 6882
Зарегистрирован: 17.05.05
|
|
Отправлено: 20.07.18 12:03. Заголовок: Pasha пишет: А кака..
Pasha пишет: цитата: | А какая версия дает глюк с N 12, 0 ? 32 или 64 бита |
| 32 На 64 не проверял , думаю так же будет. Если в Harbour (Clipper) поле N 12,0 то в ADT надо делать Numeric 13,0 Если в Harbour (Clipper) поле N 1,0 то в ADT надо делать Numeric 2,0
|
|
|
|
| |
Пост N: 1285
Зарегистрирован: 20.02.11
|
|
Отправлено: 20.07.18 13:14. Заголовок: Dima пишет: Вот теб..
Pasha пишет: Паша, там от сайбэйза только криво встроенный в ресурсы логотип. За три с лишним года движухи ноль по продукту, просто скупили мелкого конкурента создававшего большие проблемы при продаже дорогих бубнов, в которые нужно стучать после покупки их основного продукта . Переполнение возникает потому,что в adt нужно при планировании длины поля учитывать знак и точку, и в спецификации формата они об это явно указали.
|
|
|
|