|
v7: При загрузке базы в sql выдает ошибку. | ☑ | ||
---|---|---|---|---|
0
Калиостро
07.05.13
✎
17:50
|
Делается перевод базы из dbf в sql.
Движок 1с 7.7 релиз 27. SQL 2000. База dbf размером около 4 ГБ. При загрузке в 1с sql выдает следующее: --------------------------- Конфигуратор --------------------------- SQL State: 23000 Native: 1505 Message: [Microsoft][ODBC SQL Server Driver][SQL Server]CREATE UNIQUE INDEX terminated because a duplicate key was found for index ID 1. Most significant primary key is 'MD '. SQL State: 42000 Native: 1750 Message: [Microsoft][ODBC SQL Server Driver][SQL Server]Could not create constraint. See previous errors. SQL State: 01000 Native: 3621 Message: [Microsoft][ODBC SQL Server Driver][SQL Server]The statement has been terminated. --------------------------- Сейчас в тестовой базе dbf запущено ТИИ. Продолжается уже четвертые сутки, неизвестно когда закончится. Чем можно вылечить побыстрее? |
|||
1
ДенисЧ
07.05.13
✎
17:52
|
был бы изанчально в скл - элементарно. в дбф - сложнее
|
|||
2
IamAlexy
07.05.13
✎
17:52
|
||||
3
МихаилМ
07.05.13
✎
19:04
|
выясните в какой таблице не создается PK
в аналогичной таблице в дбф базе найдите замноженные записи, исправте (удалите, сверните,объедините ) и проделайте для всех таблиц дбф проверку на уникальность PK если мс скл был >=2005 то можно отключить создание индексов. создать их после загрузки |
|||
4
Эльниньо
07.05.13
✎
19:12
|
У него ТИИ сейчас идёт. Должно сказать, где дубль АйДи.
|
|||
5
МихаилМ
07.05.13
✎
19:26
|
(4)
в дбф варианте ТИИ не находит и не справляет такого рода ошибки дублей нужно самостоятельно исправлять |
|||
6
Калиостро
08.05.13
✎
10:56
|
Возвращаясь к вопросу.
ТИИ продожается уже больше 5 суток. Что там делается - ХЗ. В конфигураторе виден только белый экран. Процесс 1с отжирает свои положенные 25% памяти в терминале. Некоторое время эта база была центральной в РИБ. Думаю, неуникальность ключей возникла при обменах. (3) Как проверить таблицы на уникальность ключей в дбф? скл 2000. |
|||
7
ALoHA
08.05.13
✎
11:41
|
Создай новую пустую базу в СКЛ загрузи этот бекап еще раз.
|
|||
8
МихаилМ
08.05.13
✎
12:00
|
(6)
нужно написать программу которая проанализирует словарь (1cv7.dd) и для каждой таблицы проверит уникальность комбинации значений полей индекса. анализаторов 1cv7.dd в интрнет должно быть много может и готовая программа найдется. |
|||
9
Mikeware
08.05.13
✎
12:03
|
(6) зачем так усложнять?
посмотреть профайлером, на создание какого индекса ругался сиквел, и запросом пыддернуть |
|||
10
МихаилМ
08.05.13
✎
12:15
|
(9)
знать мало, в какой таблице. все равно для 1 таблицы писать прогу или для 1000. к тому же если ошибка не 1 талице придется повторять загрузку. Лучше сделать комплексно и проверить всю базу. |
|||
11
Ёпрст
08.05.13
✎
12:31
|
(0)скачай ConfStat и смотри, че делает пофигуратор в данный момент.
А так, 4 гиговая база - это ни о чем для дбф варианта, и скуль там как бэ не нужон. |
|||
12
Ёпрст
08.05.13
✎
12:31
|
Ну и ТиИ не исправит тебе дубли в ИД
|
|||
13
Ёпрст
08.05.13
✎
12:31
|
можешь смело его прерывать - бесполезная трата времени.
|
|||
14
Mikeware
08.05.13
✎
12:33
|
(12) вроде должен сообщить?
(10) достаточно. И писать ничего не надо. Хотя, конечно, можно, и сложного ничего нет... |
|||
15
Ёпрст
08.05.13
✎
12:34
|
(14) неа, ни id в sc ни iddoc в 1sjourn не ловит..
|
|||
16
Ёпрст
08.05.13
✎
12:35
|
дубли т.е
|
|||
17
Калиостро
08.05.13
✎
13:14
|
(7) Делал уже и на сервере и локально на ноуте - те же ошибки.
|
|||
18
Калиостро
08.05.13
✎
13:23
|
(11) ConfStat ничего не показывает. Подозрительно, что в каталоге базы дата и время изменения файлов висят неизменными практически с самого начала ТИИ. Может, 1с просто зависла в конфигураторе?
|
|||
19
Калиостро
08.05.13
✎
14:34
|
(8) Я правильно понял, из 1cv7.dd я беру названия таблиц и список индексов
и таким, например, запросом |SELECT | " + IndexedFields + ", | SUM(1) as Кол |FROM | " + Name + " |GROUP BY | " + IndexedFields + " ищу, где есть неуникальные ключи. |
|||
20
Mikeware
08.05.13
✎
14:43
|
(19)
select idddoc, count(*) from _1sjourn group by iddoc having count(*)>1 |
|||
21
Калиостро
08.05.13
✎
14:56
|
(20) Выдает пустую таблицу.
|
|||
22
Mikeware
08.05.13
✎
15:00
|
(21) а для какой таблицы он индекс стоил, когда ключи дублировались?
|
|||
23
Mikeware
08.05.13
✎
15:01
|
+(22) на крайняк, dts-ом из dbf таблицу импорти, и проверь...
|
|||
24
Калиостро
08.05.13
✎
15:07
|
(22) А как посмотреть? Сообщение, которое выходит при загрузке я скопировал в (0).
|
|||
25
Mikeware
08.05.13
✎
15:08
|
(24) профайлер на базу натрави... и как встанет - посмотри последние запросы.
|
|||
26
Калиостро
08.05.13
✎
15:08
|
(23) что такое dts?
|
|||
27
Mikeware
08.05.13
✎
15:11
|
(26) за что в яндексе забанили?
|
|||
28
slavawashere
08.05.13
✎
15:41
|
(6) ТИИ идет так долго если поставили все галочки? для нахождения дублей вроде достаточно первых двух - переиндексация и физическая целостность.. у меня на подобной базе шло около 6ти часов
Другое дело что 1С77 не умеет загружать файлы близкие к 4м гигам, тоже выдавал всякие ошибки, но потом все загрузилось через обработку Книга знаний: Плагин для лечения выгрузки и загрузки больших баз в 1С 7.7 |
|||
29
Калиостро
08.05.13
✎
15:56
|
Последнее, что выдал профайлер:
If not exists (select * from sysindexes where name='PK__1SUPDTS' and id=object_id('_1SUPDTS'))Alter table _1SUPDTS add constraint PK__1SUPDTS PRIMARY KEY CLUSTERED(DBSIGN,TYPEID,OBJID) |
|||
30
Калиостро
08.05.13
✎
15:56
|
(28) Галочки были поставлены первые 3.
|
|||
31
Калиостро
08.05.13
✎
15:59
|
(28) База-то небольшая - выгрузка в zip занимает 300 метров.
В архиве файл 1Cv77.dat - 1.8 Гб. |
|||
32
toypaul
гуру
08.05.13
✎
16:05
|
(29) посмотри в DBF таблицу _1SUPDTS
по всей видимости в ней есть потовряющися по ключу записи. удали их. и снова переноси. |
|||
33
toypaul
гуру
08.05.13
✎
16:06
|
повторяющиеся ключи кстати проще искать в текущей таблице _1SUPDTS на MS SQL соот-щим запросом
|
|||
34
Калиостро
08.05.13
✎
16:09
|
(32) А какие там ключи? В 1cv7.dd нет описания таблицы 1SUPDTS.
|
|||
35
toypaul
гуру
08.05.13
✎
16:10
|
(34) у тебя в запросе написано DBSIGN,TYPEID,OBJID
|
|||
36
slavawashere
08.05.13
✎
16:15
|
(30) с тремя галками ТИИ тоже уходило на сутки, тупо прервал - запустил заново с двумя - нашлись какие-то ошибки и все загрузилось
|
|||
37
Калиостро
08.05.13
✎
16:43
|
(35) Нашлось 8 записей с повторяющимися ключами. Попробую удалить лишние и загрузить.
|
|||
38
Mikeware
08.05.13
✎
17:30
|
апдейтс вообще можно удалить.
|
|||
39
Ковычки
08.05.13
✎
17:32
|
просче текстовик готовый из выгрузки поправить
|
|||
40
Калиостро
09.05.13
✎
09:50
|
Удалил лишние записи, загрузка пошла.
Сейчас смотрю в конфигураторе, в строке состояния "Пересчет ссылок по графе отбора ..." начиная с 1750 года. Смотрю в общем журнале без отборов - самый первый документ 01.01.1980. Откуда такие периоды в пересчете, интересно? |
|||
41
Ковычки
09.05.13
✎
13:52
|
не 1750, а 1749
|
|||
42
Ковычки
09.05.13
✎
13:53
|
вернее 1753
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |