Индексы в Таблице REF_OKDP
Модераторы: m0p3e, edward_K, Модераторы
-
- Сообщения: 8
- Зарегистрирован: 22 мар 2011, 14:58
- Откуда: Kazahstan- Astana
- Контактная информация:
Индексы в Таблице REF_OKDP
Добрый день!!!
Была произведена конвертация БД SQl2000 sp4 на SQl 2008 64 бит, После конвертации выводит ошибку: Индекс не найдет в таблице REF_OKDP. После конвертации запускали CREA_IDX, который выдал в логе
25/05/2011 19:12:27 [CONV]: Обрабатывается таблица REF_OKDP
и больше ни чего. Получается как бы индексы не создались. Таблица имеет 211 записей. В Среда SQL Server Management Studio видно только 1 индекс T$REF_OKDP0, хотя в старой БД их 5. Утилита chkmssql, с вкл проверкой индексов и тригеров ошибок не дает.
Была произведена конвертация БД SQl2000 sp4 на SQl 2008 64 бит, После конвертации выводит ошибку: Индекс не найдет в таблице REF_OKDP. После конвертации запускали CREA_IDX, который выдал в логе
25/05/2011 19:12:27 [CONV]: Обрабатывается таблица REF_OKDP
и больше ни чего. Получается как бы индексы не создались. Таблица имеет 211 записей. В Среда SQL Server Management Studio видно только 1 индекс T$REF_OKDP0, хотя в старой БД их 5. Утилита chkmssql, с вкл проверкой индексов и тригеров ошибок не дает.
-
- Постоянный обитатель
- Сообщения: 123
- Зарегистрирован: 01 фев 2007, 12:45
- Откуда: Магнитогорск
- Контактная информация:
Re: Индексы в Таблице REF_OKDP
А пробовали индексы пересоздать вручную? То есть, не с помощью интерфейсов, а DDL-запросами в SQL?
Скорее всего, где-то в скрипте конвертации произошла ошибка. Определения индексов можно взять из старой базы.
Скорее всего, где-то в скрипте конвертации произошла ошибка. Определения индексов можно взять из старой базы.
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
-
- Сообщения: 8
- Зарегистрирован: 22 мар 2011, 14:58
- Откуда: Kazahstan- Astana
- Контактная информация:
Re: Индексы в Таблице REF_OKDP
Побывал прямым запросом в SQL:
CREATE UNIQUE NONCLUSTERED INDEX [T$REF_OKDP0] ON [dbo].[T$REF_OKDP]
(
[F$NREC] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
не помогло.
Таблица всего содержит 5 индексов.
CREATE UNIQUE NONCLUSTERED INDEX [T$REF_OKDP0] ON [dbo].[T$REF_OKDP]
(
[F$NREC] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
не помогло.
Таблица всего содержит 5 индексов.
Re: Индексы в Таблице REF_OKDP
Код: Выделить всё
Create table D_KATAL.REF_OKDP "справочник ОКДП"
Using "ref_OKDP.dat"
With Table_Code = 1469
With replace With TableOptions Corpo, Branched
(
NREC : Comp "Номер записи",
ATL_LASTDATE : Date "Дата последней модификации",
ATL_LASTTIME : Time "Время последней модификации",
ATL_LASTUSER : ref(X$USERS) "Код пользователя",
ATL_ORIGINOFFICE : Word "Номер офиса, в котором занесена запись",
ATL_OWNER : Comp "Код владельца записи",
ATL_BRANCH : Comp "Филиал",
NAME : String[80] "наименование",
KOD : String[20] "код",
ISLEAF : Word "признак нижнего уровня",
LKOD : Word "длина кода",
KGARM : String[20] "код гармонизированной системы",
TNV : String[20] "код товара ТНВЭД (реж. регул)"
)
with index
(
REF_OKDP01 = NREC(Unique,Surrogate,Journal),
REF_OKDP02 = KOD,
REF_OKDP03 = LKOD+KOD,
REF_OKDPLM = ATL_LASTDATE+ATL_LASTTIME,
REF_OKDPLU = ATL_LASTUSER
);
Последний раз редактировалось n0where 02 июн 2011, 15:32, всего редактировалось 2 раза.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Постоянный обитатель
- Сообщения: 123
- Зарегистрирован: 01 фев 2007, 12:45
- Откуда: Магнитогорск
- Контактная информация:
Re: Индексы в Таблице REF_OKDP
Не совсем понял, как именно не помогло Ошибка не исчезла, или же попытка создать индекс выдала ошибку? В первом случае ошибка наверняка возникает из-за того, что Вы создавали не тот индекс, отсутствие которого её вызывает. Во втором случае - не могу подсказать. Пожалуйста, опишите подробнее результаты Ваших действий.aybek_a писал(а):Пробовал прямым запросом в SQL:
...
не помогло.
n0where
надо бы ещё референсные индексы добавить
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
-
- Сообщения: 8
- Зарегистрирован: 22 мар 2011, 14:58
- Откуда: Kazahstan- Astana
- Контактная информация:
Re: Индексы в Таблице REF_OKDP
n0where
Не подскажите как с этим кодом работать? запускать в саппорте или SQL? Если не затруднит можно ли по подробнее!!!
Не подскажите как с этим кодом работать? запускать в саппорте или SQL? Если не затруднит можно ли по подробнее!!!
-
- Сообщения: 8
- Зарегистрирован: 22 мар 2011, 14:58
- Откуда: Kazahstan- Astana
- Контактная информация:
Re: Индексы в Таблице REF_OKDP
В SQL создать индексы получилось, а вот ошибка повторяется. Создаю индексы как в тестовой они идентичны.Semi-bit писал(а):Не совсем понял, как именно не помогло Ошибка не исчезла, или же попытка создать индекс выдала ошибку? В первом случае ошибка наверняка возникает из-за того, что Вы создавали не тот индекс, отсутствие которого её вызывает. Во втором случае - не могу подсказать. Пожалуйста, опишите подробнее результаты Ваших действий.aybek_a писал(а):Пробовал прямым запросом в SQL:
...
не помогло.
n0where
надо бы ещё референсные индексы добавить
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Индексы в Таблице REF_OKDP
просто sql-лем создать мало.
Лучше удалить таблицу и пересоздать средствами атлантиса( сапорт - консоль управления, vip - как в конверторе)
Лучше удалить таблицу и пересоздать средствами атлантиса( сапорт - консоль управления, vip - как в конверторе)
-
- Сообщения: 8
- Зарегистрирован: 22 мар 2011, 14:58
- Откуда: Kazahstan- Astana
- Контактная информация:
Re: Индексы в Таблице REF_OKDP
Ругается:n0where писал(а):Код: Выделить всё
Create table D_KATAL.REF_OKDP "справочник ОКДП" Using "ref_OKDP.dat" With Table_Code = 1469 With replace With TableOptions Corpo, Branched ( NREC : Comp "Номер записи", ATL_LASTDATE : Date "Дата последней модификации", ATL_LASTTIME : Time "Время последней модификации", ATL_LASTUSER : ref(X$USERS) "Код пользователя", ATL_ORIGINOFFICE : Word "Номер офиса, в котором занесена запись", ATL_OWNER : Comp "Код владельца записи", ATL_BRANCH : Comp "Филиал", NAME : String[80] "наименование", KOD : String[20] "код", ISLEAF : Word "признак нижнего уровня", LKOD : Word "длина кода", KGARM : String[20] "код гармонизированной системы", TNV : String[20] "код товара ТНВЭД (реж. регул)" ) with index ( REF_OKDP01 = NREC(Unique,Surrogate,Journal), REF_OKDP02 = KOD, REF_OKDP03 = LKOD+KOD, REF_OKDPLM = ATL_LASTDATE+ATL_LASTTIME, REF_OKDPLU = ATL_LASTUSER );
16:32:01 │ Ошибка: Поле "ATL_LASTDATE" в таблице REF_OKDP уже есть! (стр.8, поз.69 в table.lot)
│ ATL_LASTDATE : Date "Дата последней модификации",
│ ^
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Индексы в Таблице REF_OKDP
1. посмотрите доку
2. если в лом посмотрите конвертор 712-810 - там где лоты по созданию индексов,таблиц и т.п.
3. чтобы выполнить один в один то что вам дали, таблу нужно сначала грохнуть.
2. если в лом посмотрите конвертор 712-810 - там где лоты по созданию индексов,таблиц и т.п.
3. чтобы выполнить один в один то что вам дали, таблу нужно сначала грохнуть.
-
- Постоянный обитатель
- Сообщения: 123
- Зарегистрирован: 01 фев 2007, 12:45
- Откуда: Магнитогорск
- Контактная информация:
Re: Индексы в Таблице REF_OKDP
Перед тем, как грохнуть, не поленитесь выгрузить её хотя бы в дбфedward_K писал(а):3. чтобы выполнить один в один то что вам дали, таблу нужно сначала грохнуть.
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
-
- Сообщения: 8
- Зарегистрирован: 22 мар 2011, 14:58
- Откуда: Kazahstan- Astana
- Контактная информация:
Re: Индексы в Таблице REF_OKDP
Запрос выдает ошибку
Ошибка: Индексы с префиксом REF_ системные их можно только удалять.
Ошибка: Индексы с префиксом REF_ системные их можно только удалять.
Re: Индексы в Таблице REF_OKDP
Дык они на мой вкус и не нужны. Ссылочную целостность не поддерживают.
Зачем их придумали спросите у разработчиков.
Зачем их придумали спросите у разработчиков.
-
- Сообщения: 8
- Зарегистрирован: 22 мар 2011, 14:58
- Откуда: Kazahstan- Astana
- Контактная информация:
Re: Индексы в Таблице REF_OKDP
Вопрос решен выходом нового конвертора CONVERTER_810_810_CONV_81005.