![]() |
![]() |
|
Загрузка базы в SQL (ошибка: sql state 23000, native 1505 - create unique index) | ☑ | ||
---|---|---|---|---|
0
Snork
17.05.11
✎
10:12
|
Если файловая база 7.7. При загрузке ее в sql 2000 вылазит ошибка:
sql state 23000, native 1505 - create unique index. Что пробовал: 1. тестирование и исправление - не помогло ругается на не уникальные номера строк в вводах остатках и пере-нумеровавывает их. потом на неисправимой ошибке вылетает. 2. MD diag от Soaron - ошибок не нашел 3. Гуглил мисту на предмет аналогичных ошибок: Ошибка SQL State: 23000 CREATE UNIQUE INDEX terminated because a duplicate key w Ошибка SQL State: 23000 Native: 1505 - мое решение проблемы Ошибка SQL State: 23000 Native: 1505 - обновление решения проблемы Ощибка при реиндексации. - но у меня исходная база - файловая. в SQL так ничего и не загрузилось. потому п. 3 ничего не дал. Что делать? |
|||
1
1Сергей
17.05.11
✎
10:12
|
а в ДБФ грузица?
|
|||
2
Ёпрст
гуру
17.05.11
✎
10:15
|
(0)
общие реквизиты документа с типом строка неогр. длины должны быть последними в порядке следования. |
|||
3
VladZ
17.05.11
✎
10:24
|
(0) Вот тут почитай... http://www.1csql.ru/materials/articles/admin.html~947a192a-ffb7-7436-1fa6-308a005bbd6b
|
|||
4
Snork
17.05.11
✎
10:41
|
(2) общие реквизиты неогр. длинны сделал ограниченными (только Комментарий был)
очередное тестирование файловой версии таки закончилось удачно (физическая целостность + реиндексация): Файл DT3957.dbf. Запись 107499. Поле LINENO. Неверное содержимое поля Numeric - "****" (это док. ВводОстТМЦ (мн. ч.)) ... Файл RA328.dbf. Запись 420056. Поле LINENO. Неверное содержимое поля Numeric - "****" (это рег. ПартииНаличие) ... сейчас попробую перевыгрузить ее в чистую файловую |
|||
5
Snork
17.05.11
✎
11:43
|
(1) в файловую загружается-выгружается нормально
|
|||
6
Sh1ko
17.05.11
✎
11:47
|
(0) Аналогичная проблема была на выходных, база в дбф, хотели перевести на скл. Сначала была проблема как в (2) - поставил в конец, потом уже как в (0).
|
|||
7
Ёпрст
гуру
17.05.11
✎
11:47
|
(4) грузи частями тогда.
|
|||
8
Snork
17.05.11
✎
12:16
|
загрузить протестированную файловую базу опять не получилось в SQL. ошибка так-же (0)
(4) как грузить частями? |
|||
9
Ёпрст
гуру
17.05.11
✎
12:18
|
(8) в начале справочники, потом документы..
Можно и отдельные виды документов Либо вырезанием ненужного в дат-файле, либо тупо дбф-ки поприбивать перед выгрузкой в дат файлик. |
|||
10
Ёпрст
гуру
17.05.11
✎
12:19
|
потом, всегда можно найти, на какой табличке спотыкается при загрузке в скуль и найти причину неуникального создания записи.
|
|||
11
Ёпрст
гуру
17.05.11
✎
12:22
|
+10 для начала, попробуй прибить 1scrdoc, далее выгрузка и загрузка в скуль.
|
|||
12
Snork
17.05.11
✎
16:24
|
(11) не помогло
|
|||
13
sapphire
17.05.11
✎
16:25
|
(0) Релиз?
|
|||
14
Snork
17.05.11
✎
16:26
|
1C 7.7 27 ядро
|
|||
15
Ёпрст
гуру
17.05.11
✎
16:31
|
(14) а скуль поди 2005/2008 ?
|
|||
16
Ёпрст
гуру
17.05.11
✎
16:32
|
а всё увидал, что 2000..
|
|||
17
КонецЦикла
17.05.11
✎
16:37
|
Ну так посмотри что там за данные неуникальные
Если немного - исправить руками Если что-то полетело - можно временно прибить индексы, посмотреть, исправить, потом создать |
|||
18
Snork
17.05.11
✎
17:00
|
(17) т.к. данных изначально там нет, то что собственно смотреть?
запросы по линкам из (0) я выполнял (те, что по получению данных а не по update таблиц). все они ничего не выдавали мне кажется копать надо со стороны файловой базы |
|||
19
Snork
17.05.11
✎
17:01
|
(18) естесссно запросы выполнял после неудачной загрузки
|
|||
20
val
17.05.11
✎
17:58
|
(0) Уникальные индексы в 1С - это обычно ID, IDDOC.
Подключи любой обработчик DBF, в котором можно писать запросы, и найди запросом повторяющиеся поля. |
|||
21
sammmm
17.05.11
✎
18:00
|
в какой-то таблице одинаковый id,через enterprise menedger выловить его и исправить. У меня была такая же ошибка в справочнике ТМЦ. Чтобы узнать какой справочник юзаю профайлер. Смотри в каком месте валиться
|
|||
22
val
17.05.11
✎
18:03
|
(21) У автора нет базы SQL. Искать придется в DBF.
|
|||
23
Ёпрст
гуру
18.05.11
✎
09:21
|
Ну тогда тупо фокс/1sqlite в помощь и пройтись по всем табличкам в поисках дублей прямым запросом.
|
|||
24
sammmm
18.05.11
✎
09:22
|
(23) да достаточно в время загрузки в SQL запустить профайлер и там всё посмотреть
|
|||
25
sammmm
18.05.11
✎
09:43
|
что-то типо такой ошибки в Профайлере будет
If not exists (select * from sysindexes where name='IDD' and id=object_id('SC1637') )Create UNIQUE index IDD on SC1637 (ID) SC1637 и есть твоя таблица,а IDD поле |
|||
26
Snork
18.05.11
✎
17:58
|
сделал в профайлере. последнее, что выдал:
If exists (select * from sysindexes where name='DESCR' and id=object_id('SC8775') )Drop index SC8775.DESCR 1CV7 SA 0 27 0 0 8408 52 2011-05-18 17:40:45.187 If not exists (select * from sysindexes where name='DESCR' and id=object_id('SC8775') )Create UNIQUE index DESCR on SC8775 (DESCR,ROW_ID) 1CV7 SA 0 270 9 0 8408 52 2011-05-18 17:40:45.187 If exists (select * from sysindexes where name='PK_SC319' and id=object_id('SC319') )Alter table SC319 drop constraint PK_SC319 1CV7 SA 0 32 0 0 8408 52 2011-05-18 17:40:45.187 If not exists (select * from sysindexes where name='PK_SC319' and id=object_id('SC319'))Alter table SC319 add constraint PK_SC319 PRIMARY KEY CLUSTERED(ROW_ID) 1CV7 SA 31 1374 164 30 8408 52 2011-05-18 17:40:45.187 If exists (select * from sysindexes where name='IDD' and id=object_id('SC319') )Drop index SC319.IDD 1CV7 SA 15 26 0 16 8408 52 2011-05-18 17:40:45.217 (23) (24) помогите расшифровать? косяк в SC319 (Спр. Цены) или все таки в SC8775 (Спр. ЦеновыеПризнаки) |
|||
27
Snork
18.05.11
✎
17:59
|
такого рода сообщений:
If exists (select * from sysindexes where na -много ~1000 но спотыкается именно на SC319 |
|||
28
Snork
18.05.11
✎
18:06
|
что самое интересное у спр Цены длина кода и наименования = 0,
а у спр Ценовые признаки длина кода = 0, наименование = 50 Цены - подчинен Номенклатуре, Ценовые признаки - без подчинения. Таким образом откуда берется уникальный индекс пока не понятно |
|||
29
Snork
18.05.11
✎
18:08
|
SQL 2000 (8.00.760) SP3
|
|||
30
val
18.05.11
✎
21:57
|
(26) Ищи в SC319 двойные ROW_ID или ID
|
|||
31
Snork
18.05.11
✎
23:01
|
а почему остальные ошибки:
If exists (select * from sysindexes where nam... не приводили к фатальному вылету? |
|||
32
МихаилМ
19.05.11
✎
00:24
|
в дбф не идроу
ищите в ид или иддок |
|||
33
Ёпрст
гуру
19.05.11
✎
08:37
|
(28) в словаре посмотри, какие индексы лепятся у этой таблички.. и ищи дубли ID в ней.
|
|||
34
vde69
19.05.11
✎
08:40
|
документы где более 9999 строк есть????
|
|||
35
Ёпрст
гуру
19.05.11
✎
08:40
|
(34) есть
|
|||
36
vde69
19.05.11
✎
08:42
|
(35) вроде как такие документы криво выгружаются из файловой, по этому и не загружаются в скуль
|
|||
37
vde69
19.05.11
✎
08:43
|
(36)+ и тестирование на них жутко ругаетя :)
|
|||
38
sammmm
19.05.11
✎
09:09
|
кинь скриншот этой ошибки
sql state 23000, native 1505 - create unique index |
|||
39
sammmm
19.05.11
✎
09:14
|
Message: [Microsoft][ODBC SQL Server Driver][SQL Server]CREATE UNIQUE INDEX terminated because a duplicate key was found for index ID 2. Most significant primary key is ' 6OJ '.
если у тебя тоже после Most significant primary key is ... есть какое то значение (типа ' 6OJ ') тогда пишешь в query analizer пишешь такой запрос select * from sc319 where id = ' 6OJ ' и смотришь кто тебе жизнь портит |
|||
40
Креатив
19.05.11
✎
09:29
|
А ТИИ не пробовали?
|
|||
41
Snork
19.05.11
✎
11:40
|
(34) есть. это ввод остатков. при загрузке их в SQL 1С в них перенумеровывает строки. но раньше это не проводило к ошибке. я думаю дело не в них.
(39) Most significant primary key - такого у меня нет (32) просмотрел DBF SC319 а файловой есть пара не уникальных ID. седня попробую исправить их и повторить |
|||
42
Snork
19.05.11
✎
11:41
|
(40) да. см. (0)
|
|||
43
sammmm
19.05.11
✎
11:45
|
(41)вот и всё, удаляй ненужные и будет тебе счастье))
|
|||
44
Snork
26.05.11
✎
13:29
|
Все заработало! Всем спасибо.
Итого: 1. запустив профайлер SQL загружаем базу. с логе профайлера будет инфа на какой ошибке все завалилось. 2. отредактировал битые dbf ки с помощью плугина wlx_xbaseview к тотал командеру (удалил дублирующие записи) 3. дублирующие записи нашел: выгрузил dbf в excel и сделал сводную таблицу по ключевым полям. где кол-во было > 1 -- это дубли |
|||
45
Ёпрст
гуру
26.05.11
✎
13:38
|
(44) как всё запущенно, мог бы и прямым запросом прошерстить все таблички.
Чем какой то там эксель и прочая шняга. |
|||
46
Ёпрст
гуру
26.05.11
✎
13:39
|
(42) Тии не исправляет задвоенные id /iddoc
|
|||
47
МишельЛагранж
26.05.11
✎
13:46
|
(45) а как найдет задвоенные id, если, собственно, запрос на них и ориентируется?
|
|||
48
nicxxx
26.05.11
✎
14:05
|
(45)+ а у меня есть обработка, которая прямым запросом шерстит табличку SC319, но ТС уже справился с проблемой
|
|||
49
Ёпрст
гуру
26.05.11
✎
14:09
|
(47) хэвинг каунт >1 .. и ау.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |