|
1C 8.2 + Oracle = ORA-01450 превышена максимальная длина ключа | ☑ | ||
---|---|---|---|---|
0
Мэс33
10.07.13
✎
10:19
|
Добавил в 1С регистр сведений. При попытке обновить конфу, появляется ошибка.
--------------------------------------------- В процессе обновления информационной базы произошла критическая ошибка. по причине: Ошибка СУБД: Индекс не удалось создать с использованием табличного пространства V81C_INDEX по причине: Ошибка СУБД: ORA-01450 превышена максимальная длина ключа. Возможной причиной ошибки является использование большого количества строковых измерений регистра. Попытка создать индекс в табличном пространстве V81C_INDEX_BIG не была предпринята из-за отсутствия табличного пространства. --------------------------------------------- Установил у всех измерений и ресурсов "Не индексировать" - обновилось. Пытаюсь хотя для одного измерения добавить значение "Индексировать" - повторяется вышеуказанная ошибка. Кто-нибудь сталкивался с этим? И да, релиз 8ки древний - 15ый (времени нет обновить релиз). |
|||
1
zva
10.07.13
✎
10:34
|
А в измерениях есть строки неограниченной длины?
|
|||
2
Базис
naïve
10.07.13
✎
10:51
|
За "использование ... строковых измерений регистра" надо сразу долго бить учебником по теории реляционных БД.
|
|||
3
mistеr
10.07.13
✎
11:13
|
(0) В Oracle есть ограничение на общую длину ключа индекса (в отличие от MSSQL, где ограничение на количество столбцов, составляющих ключ). Вот на него 1С и нарывается.
Ошибка именно при создании регистра, данных там еще нет? |
|||
4
mistеr
10.07.13
✎
11:13
|
(2) Не всегда.
|
|||
5
Базис
naïve
10.07.13
✎
11:16
|
(4) Это будет не регистр. Справочник, табличка, вот это всё - но не регистр.
Помню, как открывался период в ТиС после добавления клиентом пары строковых измерений в РН. Целый день, пока я не приехал. |
|||
6
mikecool
10.07.13
✎
11:17
|
(5) и что было когда приехал?
|
|||
7
МихаилМ
10.07.13
✎
11:27
|
||||
8
mistеr
10.07.13
✎
11:29
|
(5) Так ты про Семерку? Я тоже про нее много страшилок знаю.
|
|||
9
МихаилМ
10.07.13
✎
11:33
|
(5)
в 77 все внутренние ид - строки |
|||
10
mistеr
10.07.13
✎
11:38
|
(2) Разработчиков типовых не забудь побить. А то они штрихкоды неправильно хранят.
|
|||
11
mistеr
10.07.13
✎
11:39
|
(7) Спасибо, буду знать. 900 байт маловато, в Oracle гораздо больше.
|
|||
12
Мэс33
10.07.13
✎
12:05
|
Сорри, уходил на обед.
(1) В измерениях есть строки переменной длины, сама длина установлена к примеру "100". (3) Да, при создании. |
|||
13
Мэс33
10.07.13
✎
12:07
|
Да, и в ресурсах есть строки переменной длины.
|
|||
14
Мэс33
10.07.13
✎
12:09
|
(2) Может и надо бить, но я взял пример модуля на инфостарте, видимо там никто с ораклом не работал и с такой ошибкой не сталкивался.
|
|||
15
mzelensky
10.07.13
✎
12:22
|
(12) Убери хотя бы до "90".
|
|||
16
mistеr
10.07.13
✎
12:38
|
(12) Странно, по идее ошибка случается при вставке данных.
В 14-м релизе добавили способ борьбы с этой ошибкой. Цитата из V8Update.htm: ------------------- Реализована поддержка использования отдельного табличного пространства в Oracle Database в случае, если при реструктуризации информационной базы или загрузки информационной базы (из файла .dt) генерируется ошибка "ORA-01450. Табличное пространство (с именем "V81C_INDEX_BIG") не создается автоматически и должно быть создано администратором базы данных". То есть нужно создать это ТП вручную с большим размером блока, например 16К. |
|||
17
mistеr
10.07.13
✎
13:04
|
(15) Интересно, с какого потолка взята цифра?
Максимальная длина не имеет значения, имеет значение размер реальных данных. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |