Задать вопрос
zvepb
@zvepb

Как обойти ошибку не уникального индекса при переходе из файловой 1С 7.7 на MS SQL?

Ошибка при загрузки данных в SQL

Message: [Microsoft] [ODBC SQL Server Driver] [SQL Server] Выполнение инструкции CREATE UNIQUE INDEX прервано, поскольку обнаружен повторяющийся ключ для объекта с именем "dbo.SC31" и индекса с именем "IDD".


Были проверены и переименованы дубли документов, с помощью своей обработки.
Ошибка осталась, хотя по всем объектам дубли больше не найдены.

Вопрос такой, в какую сторону копать ? Можно ли со стороны SQL это решить ? Например, с помощью скрипта SQL который бы отслеживал запись и при возникновении ошибки переименовал объект допустим ?

Прощу помочь советом.
  • Вопрос задан
  • 33 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Dementor
программист, архитектор, аналитик
Можно ли со стороны SQL это решить ? Например, с помощью скрипта SQL который бы отслеживал запись и при возникновении ошибки переименовал объект допустим ?

Т.е. вы предлагаете сделать триггерную функцию, которая во время добавления данных делала проверку их уникальности и вносила изменения в данные при наличии проблем? Звучит сложно. Ведь вам всего лишь один раз нужно файловую базу залить на скуль.

Ошибка осталась, хотя по всем объектам дубли больше не найдены.

Я бы на ваш месте не угадывал, а проверил бы поля из индекса IDD для таблицы dbo.SC31 - если скуль ругается, то вы точно что-то пропустили. Сделайте SELECT с GROUP BY этим полям и HAVING COUNT(*) > 1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы