|  01.11.2007, 13:26 | #1 | 
| Участник | 
			
			Добрый день, У мня возникла такая проблемка: необходимо увеличить длину поля активного ключа таблицы. Но при компиляции выходит ошибка, что размер активного ключа не может превышать 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 | 
| Участник | 
			
			Просто ради интереса, а что это за табличка, и сколько в ней записей?
		 | 
|  | 
|  01.11.2007, 13:35 | #3 | 
| Участник | 
			
			табличка эта - книга операций.. сооттвественно записей много.. несколько миллионов
		 | 
|  | 
|  01.11.2007, 13:36 | #4 | 
| Участник | Цитата: 
		
			Сообщение от 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 байт? | 
|  | 
|  01.11.2007, 14:10 | #5 | 
| Участник | 
			
			Не забывайте, что к вторичным ключам в конце "приписываются" поля первичного. Может, у вас первичный ключ длинный?
		 | 
|  | 
|  01.11.2007, 14:18 | #6 | 
| Участник | |
|  | 
|  01.11.2007, 14:51 | #7 | 
| Участник | 
			
			И про SumIndexField вы тоже, наверное, не забыли... Может, выложите объект? | 
|  | 
|  01.11.2007, 16:09 | #8 | 
| Участник | 
			
			Мож я чего-то не понимаю, но при чем тута SumIndexField?
		 | 
|  | 
|  01.11.2007, 16:21 | #9 | 
| Участник | 
			
			Они тоже добавляются в длину ключа
		 | 
|  | 
|  01.11.2007, 16:36 | #10 | 
| Участник | 
			
			Получается длина активного ключа вычисляется как длина полей первичного ключа + вторичного  + их SumIndexField. Ок.  Но мне нужно изменить длину одного поля ключа НЕ ИЗМЕНЯЯ не сами ключи не их SumIndexFied. Мож на уровне SQL можно можно как-то этот вопрос решить? | 
|  |