AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.11.2007, 13:26   #1  
Lrundom is offline
Lrundom
Участник
 
76 / 10 (1) +
Регистрация: 24.08.2007
Добрый день,
У мня возникла такая проблемка: необходимо увеличить длину поля активного ключа таблицы. Но при компиляции выходит ошибка, что размер активного ключа не может превышать 252 байта... Можно ли каким либо образом обойти это ограничение?

И еще вопрос. в этом самом активном ключе имеются: 3 поля с типом Code 20, 4 поля с типом Code 10, и по одному полю с типами Integer, Date, Option... При изменении длины одного поля с Code 20 на Code 40 пишет, что размер активного ключа равен 260 байт(из-а чего собстенно и вылезает сообщение об ошибке)... Насколько я знаю, длина Code = максимальная длина строки+2 байта(тогда Code 20 = 22 байта), Integer, Date, Option по 4 байта, соотвественно длина поля ключа после его изменения равна 146 байт... Откуда тогда берется 260 байт?
Старый 01.11.2007, 13:30   #2  
RobiBaggio is offline
RobiBaggio
Участник
Аватар для RobiBaggio
 
285 / 10 (1) +
Регистрация: 16.02.2004
Просто ради интереса, а что это за табличка, и сколько в ней записей?
Старый 01.11.2007, 13:35   #3  
Lrundom is offline
Lrundom
Участник
 
76 / 10 (1) +
Регистрация: 24.08.2007
табличка эта - книга операций.. сооттвественно записей много.. несколько миллионов
Старый 01.11.2007, 13:36   #4  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от Lrundom Посмотреть сообщение
Добрый день,
У мня возникла такая проблемка: необходимо увеличить длину поля активного ключа таблицы. Но при компиляции выходит ошибка, что размер активного ключа не может превышать 252 байта... Можно ли каким либо образом обойти это ограничение?

И еще вопрос. в этом самом активном ключе имеются: 3 поля с типом Code 20, 4 поля с типом Code 10, и по одному полю с типами Integer, Date, Option... При изменении длины одного поля с Code 20 на Code 40 пишет, что размер активного ключа равен 260 байт(из-а чего собстенно и вылезает сообщение об ошибке)... Насколько я знаю, длина Code = максимальная длина строки+2 байта(тогда Code 20 = 22 байта), Integer, Date, Option по 4 байта, соотвественно длина поля ключа после его изменения равна 146 байт... Откуда тогда берется 260 байт?
Мне кажется, что там все берется кратное 2 (таким образом Code 20 хранится как 32 байта, а Code 40 хранится как 64 байта).
Старый 01.11.2007, 14:10   #5  
Milk is offline
Milk
Участник
 
242 / 12 (1) ++
Регистрация: 08.06.2006
Не забывайте, что к вторичным ключам в конце "приписываются" поля первичного. Может, у вас первичный ключ длинный?
Старый 01.11.2007, 14:18   #6  
Lrundom is offline
Lrundom
Участник
 
76 / 10 (1) +
Регистрация: 24.08.2007
Цитата:
Сообщение от Milk Посмотреть сообщение
Не забывайте, что к вторичным ключам в конце "приписываются" поля первичного. Может, у вас первичный ключ длинный?
Я это помню, но в первичном ключе у мня тока одно поле типа Integer
Старый 01.11.2007, 14:51   #7  
Milk is offline
Milk
Участник
 
242 / 12 (1) ++
Регистрация: 08.06.2006
И про SumIndexField вы тоже, наверное, не забыли...
Может, выложите объект?
Старый 01.11.2007, 16:09   #8  
Lrundom is offline
Lrundom
Участник
 
76 / 10 (1) +
Регистрация: 24.08.2007
Мож я чего-то не понимаю, но при чем тута SumIndexField?
Старый 01.11.2007, 16:21   #9  
Milk is offline
Milk
Участник
 
242 / 12 (1) ++
Регистрация: 08.06.2006
Они тоже добавляются в длину ключа
Старый 01.11.2007, 16:36   #10  
Lrundom is offline
Lrundom
Участник
 
76 / 10 (1) +
Регистрация: 24.08.2007
Получается длина активного ключа вычисляется как длина полей первичного ключа + вторичного + их SumIndexField. Ок.
Но мне нужно изменить длину одного поля ключа НЕ ИЗМЕНЯЯ не сами ключи не их SumIndexFied. Мож на уровне SQL можно можно как-то этот вопрос решить?
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:42.