|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Всем доброе время суток! Коллеги, вопрошаю о помощи всемогущий коллективный разум. Итак: Мы, в нашей компании, занимаемся переводом базы 1С ТиС 7.7 (релиз 27) из файлового формата .dbf в формат MSSQL 2000 сервера. Размер базы ~900Mb. Для этого используется стандартная, описанная, процедура данного перевода: через выгрузку-загрузку файла переноса данных базы. Но во время загрузки файла переноса в SQL, Конфигуратор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 ID2. Most significant primary key is ' 15N '. SQL State: 01000 Native: 3621 Message: [Microsoft][ODBC SQL Server Driver][SQL Server] The statement has been terminated. --------------------------------------------------------------------------------------------------------------------------------------- Телодвижение с пунктом Тестирование и Исправление базы из 1C Конфигуратора- никак на результат не влияет: ошибка не уходит. Cам я не программист 1С и не SQL dba. Я специалист по сетям.. Что можно сделать с базой или ,возможно, с настройками в SQL2000 чтобы попытаться своими силами решить проблему данной ошибки ? Заранее благодарен за любую информацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2016, 16:17 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
похоже база с косяками. попробуйте сначала тестирование в dbf версии запустить ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2016, 16:35 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Steve242, Оно тебе ж написало что есть дубли. Открывай табличку в дбф редакторе и исправляй. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2016, 18:16 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Злой Бобр, какой самый оптимальный редактор посоветуешь ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2016, 18:18 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Steve242, Любой. Это дело вкуса. Главное ведь результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2016, 18:20 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
кстати, а как тут понять - какую именно табличку (какой именно .dbf файл) мне открывать в редакторе DBF ? вопрос тупой согласен. но я не знаю структуру таблиц 1С и прочую матчасть конкретно в этой области. благодарю за ответ ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2016, 23:58 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Steve242, В строке состояния пишет "Создание индексов таблицы: Справочник Место". Значит открываем файл 1cv7.dd в базе DBF. Ищем указанный справочник. Будет что-то типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
SC33735 - имя DBF-файла (у вас, конечно, другое имя) Дальше открываем файл подходящим редактором (вполне неплох CDBF), ищем в колонке ID указанное в ошибке значение ключа '15N'. И решаем, что делать с дублирующимися записями. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 07:49 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Steve242кстати, а как тут понять - какую именно табличку (какой именно .dbf файл) мне открывать в редакторе DBF ? вопрос тупой согласен. но я не знаю структуру таблиц 1С и прочую матчасть конкретно в этой области. благодарю за ответ Смотрим в Монитор на чем именно затык. Строка состояния иногда совпадает а иногда нет, поэтому на нее я не смотрю. Описание таблиц в файле 1cv7.dd в каталоге базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 09:19 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Bone serpentSteve242, В строке состояния пишет "Создание индексов таблицы: Справочник Место". Значит открываем файл 1cv7.dd в базе DBF. Ищем указанный справочник. Будет что-то типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Bone serpent, thnx a lot! файл со справочником нашел. нашел также запись ошибочного ключа. Дальше открываем файл подходящим редактором (вполне неплох CDBF), ищем в колонке ID указанное в ошибке значение ключа '15N'. И решаем, что делать с дублирующимися записями. теперь самый основной для меня вопрос: - что мне делать с этой стройкой ? Удалить ? или может как-нибудь отредактировать ?? Это может както деструктивно повлиять на работу 1С в целом и вылезти где-нибудь боком при дальнейшей работе ? привожу принскрин проблемного куска с этим ключом ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 01:54 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Нужно смотреть описание таблиц, точнее раздел их индексов, в аналогичном файле каталога базы подключаемой к SQL (расширение файла dds). Без этого запись трогать не следует!!! Т.к. само значение ' 15N ' поля ID корректно, иначе ТИИ её поймало. Пути решения: 1) Перед выгрузкой из DBF базы удалить этот индекс; 2) Перед повторной загрузкой (возможно какой-то из вариантов и не рабочий, давно всё это было...) 2.1) Файле dds поменять описание индекса на не уникальный; или 2.2) В таблице SQL поменять определение индекса; 3) Но самый правильный - разобраться с данными, но это уже не совсем техническая задача. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 08:16 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Steve242, Твой принт ниочем. Тебе написало что есть дубли. Так что сортируй по ИД и смотри на дубль. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 14:09 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Злой Бобр, ну это я понял.. Что мне дальше делать с этими дублями ? Вопрос: _по какому принципу_ необходимо обрабатывать дубли (я так понял- удалять) ? Какой из дублей нужно оставить, а какой удалить - как это определить вообще ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 15:43 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Steve242, Ну смотри что за информация в записях. Посмотри в справочнике на эти записи. Смотри где задействованы эти ИД. Ну и т.д. Исходя из этого уже и принимаешь решение что делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 16:55 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
AHDPНужно смотреть описание таблиц, точнее раздел их индексов, в аналогичном файле каталога базы подключаемой к SQL (расширение файла dds). Без этого запись трогать не следует!!! Т.к. само значение ' 15N ' поля ID корректно, иначе ТИИ её поймало. Пути решения: 1) Перед выгрузкой из DBF базы удалить этот индекс; 2) Перед повторной загрузкой (возможно какой-то из вариантов и не рабочий, давно всё это было...) 2.1) Файле dds поменять описание индекса на не уникальный; или 2.2) В таблице SQL поменять определение индекса; 3) Но самый правильный - разобраться с данными, но это уже не совсем техническая задача. можно поподробнее: файл с расширением .dds - он где именно находится ? в каталоге с базой для SQLя ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 04:13 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Steve242, Не-не, никакого DDS. Проблема в DBF базе, значит смотрим её и 1CV7.DD Разбираться именно с данными надо. Всё остальное - от лукавого и проблему, на самом деле, не решает. Найти в файле DBF записи с неуникальным идентификатором, по значению полей решить, какая из записей более валидная, лишнюю удалить. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 04:46 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Steve242, Да, в каталоге базы, которая подключена к SQL. Смотрите описание (из каких полей состоит) индекса ID2. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 07:58 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Bone serpentНайти в файле DBF записи с неуникальным идентификатором, по значению полей решить, какая из записей более валидная, лишнюю удалить . Это только если записи полей одинаковые, что бывает не так часто. А то автор по наивности удалит то что не нужно и вазелин ему уже не поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 11:44 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
AHDPSteve242, Да, в каталоге базы, которая подключена к SQL. Смотрите описание (из каких полей состоит) индекса ID2. Ну что за очередная глупость. ID2 это не поле, а поле ID и количество дублей 2. Помогать это хорошо, но только помогайте правильно а не дезинформируйте автора - он по ходу совсем зеленый и по наивности верит всему что говорят. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 11:48 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Злой Бобр, Steve242, Прошу прощения, похоже я совсем забыл 7.7. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2016, 14:24 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
друзья, после многочасового секса и курения манов, раскопал в соответствующем таблице .dbf- следующее: см.аттач.. Вопрос: - какую запись из 2х удалять ? как видно на картинке они различаются только лишь значением поля VERSTAMP: H и S (а может это- пятерка?) прочитал про поле VERSTAMP. это типа версия записи во времени. Итак, какой VERSTAMP 'свежее': H или S ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 00:27 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
у одной из записей стоит пометка удаления- в поле ismark стоит звездочка. если возможно то зайти в базу в режиме предприятия и сделать поиск ссылок на эту запись. если есть то заменить на другой, если нет то смело можно удалять ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 09:32 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Базулька.. dbf.. mssql-2000.. 2016.. Спец по сетям в роли dba.. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 09:54 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
Steve242, В таком случае удаляйте любую запись, а в VERSTAMP поставьте 0 (как в принте выше). По сути вы кривыми ручками что-то с УРБД накосячили. Я б прошелся по всем справочникам на предмет дублей, прежде чем снова пытаться впихивать все в скуль. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 11:09 |
|
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
|
|||
---|---|---|---|
#18+
+ Упс. Немного ошибся. Вторую запись оставляй, VERSTAMP не меняй. Эх, давно это было. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 11:15 |
|
|
start [/forum/topic.php?fid=28&msg=39152072&tid=1518846]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
131ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 253ms |
0 / 0 |