8.х Загрузка данных в SQL. Неуникальность в таблице dbo.Params

Тема в разделе "Установка платформы "1С:Предприятие 8"", создана пользователем vladak955, 5 мар 2010.

  1. TopicStarter Overlay
    vladak955
    Offline

    vladak955

    Регистрация:
    15 фев 2010
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Добрый день всем!
    При загрузке данных ЗУП из файловой версии в SQL операция прерывается и появляется сообщение:

    Попытка вставки неуникального значения в уникальный инднекс.
    .... т.к обнаружен повторяющийся ключ для имени объекта "dbo.Params" и имени индекса "PK_Params_73BA3083". Повторяющееся значение ключа: (users.usr). ......

    Действительно, в файле базы .1CD текст "users.usr" встречается 3 раза вместо одного. Тестирование и исправление на неуникальность проходит чисто. Никаких сообщений. Кроме того, удалил всех пользователей. Не помогло. Как удалить лишние записи из этой внутренней таблицы? Подскажите, пожалуйста. :unsure:
  2. Demiurg
    Offline

    Demiurg Опытный в 1С

    Регистрация:
    1 дек 2007
    Сообщения:
    97
    Симпатии:
    0
    Баллы:
    26
    думается начать нужно с обращения в техподдержку 1С
  3. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    А проверку файловой базы делали утилитой из каталога 1С-ки?
  4. TopicStarter Overlay
    vladak955
    Offline

    vladak955

    Регистрация:
    15 фев 2010
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Да, делал, ошибок не обнаружено
  5. TopicStarter Overlay
    vladak955
    Offline

    vladak955

    Регистрация:
    15 фев 2010
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Обращался уже, ответ ниже, судите сами:

    Судя по сообщению, в таблице параметров задублировалась запись о пользователях "users.usr".

    Для решения можно попробовать несколько вариантов.

    1. прислать выгрузку нам (vs выделим ftp по вашему запросу)

    2. воспользоваться универсальной выгрузкой-загрузкой данных XML с диска ИТС, завести пользователей по новой

    3. попробовать загрузиться в DB2, возможно и получится, средствами сервера удалить лишнюю запись, в Конфигураторе выгрузиться и грузить уже в MS SQL

    4. попытаться как-то покрутить список пользователей (вряд ли к чему-то приведет, но попытаться можно)

    При ответах, пожалуйста, полностью оставляйте переписку.

    Ничего не подходит, с DB2 дела не имел и разбираться времени нет, свою базу высылать не так то просто, разрешение начальства нужно , а это вопрос очень интересный - почему кому-то нужно высылать, а ты что, сам не можешь разобраться (где кнопку нажать не знаешь?, передергиваю конечно). Выгрузка в xml достигла 60 Гб и оборвалась, они сами сказали, что не нужно далее продолжать.

    Насчет высылать базу им. Уже пробовал. Подход у них чисто формальный. Получили базу. Увидели, что конфгурация менялась. И сообщили, что по измененным конфам консультации не дают. Хотя вопрос был по регламентным отчетам, упаси боже меня там что-то менять. Изменеия были в других местах.
  6. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Так-с.... Есть, конечно, идея, как попробовать восстановить подобное...
    Делал разок похожее, но результата гарантировать не могу.

    Что нужно: база, конечно :)

    Что бы руководство не сильно парилось - возьмите обработку с ИТС - шифрование конфиденциальных данных.

    В чем цимус: нужно заставить 1С-ку проехать мимо этих файлов... А для этого нужно изменить таблицу смещений. Вот с этим-то и придеться бороться...
  7. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Добавлю: можешь просто изменить имена попробовать. Только длину не изменяй - иначе поедут смещения.

    ВСЕ ДЕЛАТЬ НА КОПИИ!!!!
  8. TopicStarter Overlay
    vladak955
    Offline

    vladak955

    Регистрация:
    15 фев 2010
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    BabySG, Благодарю за протянутую руку. За ваше желание помочь. Это очень важно. Пока суть да дело я тут накопал с помощью инета кое что. Удалось справиться меньшими силами:

    1. В шестнадцатиричном редакторе нахожу в файле базы .1cd "неправильные" записи "users.usr"
    2. В начале таких записей (перед байтом 09) меняю байт 00 на 01, т.е. отмечаю их как помеченные для удаления.
    3. Запускаю тестрование и исправление - сжатие базы. Помеченые записи удаляются физически.
    4. Выгружаю базу и загружаю в SQL. Все ОК.

    Еще раз благодарю всех за помощь.
  9. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Спасибо за рассказ о решении.
    В целом - примерно такой путь и представлял себе, но, теоретически, можно было попробовать поколдовать с именем файла - вроде оно нигде не проверяется больше.

    ЗЫ. Эх, закрытый формат....

Поделиться этой страницей