powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
33 сообщений из 33, показаны все 2 страниц
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39147482
Steve242
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброе время суток!
Коллеги, вопрошаю о помощи всемогущий коллективный разум.
Итак:

Мы, в нашей компании, занимаемся переводом базы 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 чтобы попытаться своими силами решить проблему данной ошибки ?



Заранее благодарен за любую информацию.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39147516
tvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже база с косяками. попробуйте сначала тестирование в dbf версии запустить
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39147635
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242,

Оно тебе ж написало что есть дубли. Открывай табличку в дбф редакторе и исправляй.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39147638
Steve242
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Злой Бобр,

какой самый оптимальный редактор посоветуешь ?
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39147639
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242,

Любой. Это дело вкуса. Главное ведь результат.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39147821
Steve242
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кстати, а как тут понять - какую именно табличку (какой именно .dbf файл) мне открывать в редакторе DBF ?

вопрос тупой согласен. но я не знаю структуру таблиц 1С и прочую матчасть конкретно в этой области.

благодарю за ответ
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39147865
Bone serpent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242,
В строке состояния пишет "Создание индексов таблицы: Справочник Место".
Значит открываем файл 1cv7.dd в базе DBF. Ищем указанный справочник.
Будет что-то типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
#===============================================================================
#==TABLE no 50     : Справочник Место
# Name    |Descr                         |Type[A/S/U]|DBTableName|ReUsable
T=SC33735 |Справочник Место      |A          |SC33735    |1
#-----Fields-------
# Name      |Descr               |Type|Length|Precision
F=ID        |ID object           |C   |9     |0
F=PARENTEXT |Parent in other tabl|C   |9     |0
F=ISMARK    |Flag Object is Marke|C   |1     |0
F=VERSTAMP  |Version stamp       |C   |6     |0

SC33735 - имя DBF-файла (у вас, конечно, другое имя)
Дальше открываем файл подходящим редактором (вполне неплох CDBF), ищем в колонке ID указанное в ошибке значение ключа '15N'. И решаем, что делать с дублирующимися записями.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39147911
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242кстати, а как тут понять - какую именно табличку (какой именно .dbf файл) мне открывать в редакторе DBF ?

вопрос тупой согласен. но я не знаю структуру таблиц 1С и прочую матчасть конкретно в этой области.

благодарю за ответ
Смотрим в Монитор на чем именно затык. Строка состояния иногда совпадает а иногда нет, поэтому на нее я не смотрю.
Описание таблиц в файле 1cv7.dd в каталоге базы.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39150217
Steve242
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bone serpentSteve242,
В строке состояния пишет "Создание индексов таблицы: Справочник Место".
Значит открываем файл 1cv7.dd в базе DBF. Ищем указанный справочник.
Будет что-то типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
#===============================================================================
#==TABLE no 50     : Справочник Место
# Name    |Descr                         |Type[A/S/U]|DBTableName|ReUsable
T=SC33735 |Справочник Место      |A          |SC33735    |1
#-----Fields-------
# Name      |Descr               |Type|Length|Precision
F=ID        |ID object           |C   |9     |0
F=PARENTEXT |Parent in other tabl|C   |9     |0
F=ISMARK    |Flag Object is Marke|C   |1     |0
F=VERSTAMP  |Version stamp       |C   |6     |0
SC33735 - имя DBF-файла (у вас, конечно, другое имя)


Bone serpent, thnx a lot!

файл со справочником нашел.
нашел также запись ошибочного ключа.

Дальше открываем файл подходящим редактором (вполне неплох CDBF), ищем в колонке ID указанное в ошибке значение ключа '15N'. И решаем, что делать с дублирующимися записями.

теперь самый основной для меня вопрос:

- что мне делать с этой стройкой ? Удалить ? или может как-нибудь отредактировать ??
Это может както деструктивно повлиять на работу 1С в целом и вылезти где-нибудь боком при дальнейшей работе ?

привожу принскрин проблемного куска с этим ключом
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39150266
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно смотреть описание таблиц, точнее раздел их индексов, в аналогичном файле каталога базы подключаемой к SQL (расширение файла dds). Без этого запись трогать не следует!!! Т.к. само значение ' 15N ' поля ID корректно, иначе ТИИ её поймало.

Пути решения:
1) Перед выгрузкой из DBF базы удалить этот индекс;
2) Перед повторной загрузкой (возможно какой-то из вариантов и не рабочий, давно всё это было...)
2.1) Файле dds поменять описание индекса на не уникальный;
или
2.2) В таблице SQL поменять определение индекса;
3) Но самый правильный - разобраться с данными, но это уже не совсем техническая задача.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39150620
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242,

Твой принт ниочем. Тебе написало что есть дубли. Так что сортируй по ИД и смотри на дубль.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39150740
Steve242
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Злой Бобр,

ну это я понял.. Что мне дальше делать с этими дублями ?

Вопрос: _по какому принципу_ необходимо обрабатывать дубли (я так понял- удалять) ? Какой из дублей нужно оставить, а какой удалить - как это определить вообще ?
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39150814
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242,

Ну смотри что за информация в записях. Посмотри в справочнике на эти записи. Смотри где задействованы эти ИД. Ну и т.д. Исходя из этого уже и принимаешь решение что делать.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39151048
Steve242
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AHDPНужно смотреть описание таблиц, точнее раздел их индексов, в аналогичном файле каталога базы подключаемой к SQL (расширение файла dds). Без этого запись трогать не следует!!! Т.к. само значение ' 15N ' поля ID корректно, иначе ТИИ её поймало.

Пути решения:
1) Перед выгрузкой из DBF базы удалить этот индекс;
2) Перед повторной загрузкой (возможно какой-то из вариантов и не рабочий, давно всё это было...)
2.1) Файле dds поменять описание индекса на не уникальный;
или
2.2) В таблице SQL поменять определение индекса;
3) Но самый правильный - разобраться с данными, но это уже не совсем техническая задача.

можно поподробнее: файл с расширением .dds - он где именно находится ? в каталоге с базой для SQLя ?
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39151049
Bone serpent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242,

Не-не, никакого DDS. Проблема в DBF базе, значит смотрим её и 1CV7.DD
Разбираться именно с данными надо. Всё остальное - от лукавого и проблему, на самом деле, не решает.
Найти в файле DBF записи с неуникальным идентификатором, по значению полей решить, какая из записей более валидная, лишнюю удалить.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39151078
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242,

Да, в каталоге базы, которая подключена к SQL. Смотрите описание (из каких полей состоит) индекса ID2.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39151271
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bone serpentНайти в файле DBF записи с неуникальным идентификатором, по значению полей решить, какая из записей более валидная, лишнюю удалить .
Это только если записи полей одинаковые, что бывает не так часто. А то автор по наивности удалит то что не нужно и вазелин ему уже не поможет.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39151277
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AHDPSteve242,

Да, в каталоге базы, которая подключена к SQL. Смотрите описание (из каких полей состоит) индекса ID2.
Ну что за очередная глупость. ID2 это не поле, а поле ID и количество дублей 2. Помогать это хорошо, но только помогайте правильно а не дезинформируйте автора - он по ходу совсем зеленый и по наивности верит всему что говорят.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39151485
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр,
Steve242,

Прошу прощения, похоже я совсем забыл 7.7.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39151887
Steve242
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
друзья,

после многочасового секса и курения манов, раскопал в соответствующем таблице .dbf- следующее: см.аттач..

Вопрос:

- какую запись из 2х удалять ?
как видно на картинке они различаются только лишь значением поля VERSTAMP: H и S (а может это- пятерка?)

прочитал про поле VERSTAMP. это типа версия записи во времени.

Итак, какой VERSTAMP 'свежее': H или S ?
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39151970
tvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у одной из записей стоит пометка удаления- в поле ismark стоит звездочка. если возможно то зайти в базу в режиме предприятия и сделать поиск ссылок на эту запись. если есть то заменить на другой, если нет то смело можно удалять
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39151985
host.13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Базулька.. dbf.. mssql-2000.. 2016..
Спец по сетям в роли dba..
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39152072
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242,

В таком случае удаляйте любую запись, а в VERSTAMP поставьте 0 (как в принте выше). По сути вы кривыми ручками что-то с УРБД накосячили. Я б прошелся по всем справочникам на предмет дублей, прежде чем снова пытаться впихивать все в скуль.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39152082
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ Упс. Немного ошибся. Вторую запись оставляй, VERSTAMP не меняй.
Эх, давно это было.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39152300
Steve242
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
host.13,

да. чем только не приходится заниматься
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39152303
Steve242
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tvmу одной из записей стоит пометка удаления- в поле ismark стоит звездочка. если возможно то зайти в базу в режиме предприятия и сделать поиск ссылок на эту запись. если есть то заменить на другой, если нет то смело можно удалять


это я поставил эту пометку. От балды если честно! просто забыл убрать. То есть, можно считать что этой пометки нет..
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39152392
Steve242
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Злой Бобр+ Упс. Немного ошибся. Вторую запись оставляй, VERSTAMP не меняй.
Эх, давно это было.

я правильно понял, что в обсуждаемом нами случае: VERSTAMP S (ну или 5) - валиднее верстампа H ? и его и нужно оставлять, этот S
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39152550
Bone serpent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242,

я правильно понял, что в обсуждаемом нами случае: VERSTAMP S (ну или 5) - валиднее верстампа H ? и его и нужно оставлять, этот S

Не факт. Оставлять лучше ту, которой пользовались пользователи. А она, скорее всего первая в физическом порядке записей. Лучше всего ориентироваться по пользовательским полям в DBF (поля SP*). Если одинаковые, всё равно какую запись удалять. Если разные, спросить пользователей, какая актуальней.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39152678
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242я правильно понял, что в обсуждаемом нами случае: VERSTAMP S (ну или 5) - валиднее верстампа H ? и его и нужно оставлять, этот S
Да.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39152718
Steve242
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ладно. с этим примерно понятно..
а вот ещё такой вопрос.

Как известно, классическая архитектура Терминальник +1C77 на SQLe2000 = отдельно сервак под Терминальник с движком 1С, отдельно под сервер SQL.
на SQLе в свою очередь базу 1С кладешь на отдельный HDD а логи транзакций скуля - на ещё отдельный hdd, ну или раздел.

Вопрос:

- куда в этой архитектуре _в идеализированном варианте_ нужно помещать каталог 'скелета' базы 1С (с конфигами и юзерскими
папками) ?

На сервер Терминалов или на сервер с SQL ?
Какие вообще классические технические требования к месту размещения данного каталога ?
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39152720
Bone serpent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242,

- куда в этой архитектуре _в идеализированном варианте_ нужно помещать каталог 'скелета' базы 1С (с конфигами и юзерскими папками) ? На сервер Терминалов или на сервер с SQL ?

На терминал. С точки зрения быстродействия. Замерял разницу в скорости работы автообмена УРБД (как операции, массово пишущей в журнал регистрации). При размере журнала регистрации порядка гига разница во времени сеанса обмена между локальным и сетевым размещением базы была раза в полтора (точно не помню, давно это было).

Какие вообще классические технические требования к месту размещения данного каталога ?

Классических требований не припоминаю.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39152951
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Steve242Как известно, классическая архитектура Терминальник +1C77 на SQLe2000 = отдельно сервак под Терминальник с движком 1С, отдельно под сервер SQL.
Если пользователей до 20, то смело можно на одной железке все ставить. Благо сейчас железо на порядок лучше чем раньше было. Плюс SSD сейчас уже по цене вполне доступны для бизнеса (тип памяти SLC и 8+ каналов). Хотя можно обойтись и классическими SAS дисками (если нагрузка небольшая).
Steve242на SQLе в свою очередь базу 1С кладешь на отдельный HDD а логи транзакций скуля - на ещё отдельный hdd, ну или раздел.
Не совсем так. Сначала делаешь 10 рейд, а потом уже на физически разные диски ложишь. И тут не важно на одной железке все будет или нет - базу и лог разделять нужно всегда.
Steve242Вопрос:
- куда в этой архитектуре _в идеализированном варианте_ нужно помещать каталог 'скелета' базы 1С (с конфигами и юзерскими
папками) ?
Нету "идеального" варианта. Ложится на Терминал, а уже положишь ты в програм файл или в другую папку (логический диск) - особой разницы нет. Я обычно ложил на диск D.
...
Рейтинг: 0 / 0
SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
    #39153044
Steve242
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Злой БобрSteve242Как известно, классическая архитектура Терминальник +1C77 на SQLe2000 = отдельно сервак под Терминальник с движком 1С, отдельно под сервер SQL.
Если пользователей до 20, то смело можно на одной железке все ставить. Благо сейчас железо на порядок лучше чем раньше было. Плюс SSD сейчас уже по цене вполне доступны для бизнеса (тип памяти SLC и 8+ каналов). Хотя можно обойтись и классическими SAS дисками (если нагрузка небольшая).



кстати. по поводу SSD.. Купленный примерно два года назад хард SSD OCZ Vertex 450 (из первых партий, когда это только началось) прожил ровно год. потом самозалочился и капут: имели веселый разнообразно-анальный секс с восстановлением данных с этого винта. Гугление проблемы привело к выводу, что это болезнь всей технологии SSD, а не конкретной модели.

вопрос: сейчас что-нибудь изменилось в контексте надёжности SSD ? или они по-прежнему ,в среднем примерно год, очень быстро и клёво летают, а потом -3.14сда ?

Steve242на SQLе в свою очередь базу 1С кладешь на отдельный HDD а логи транзакций скуля - на ещё отдельный hdd, ну или раздел.
Не совсем так. Сначала делаешь 10 рейд, а потом уже на физически разные диски ложишь. И тут не важно на одной железке все будет или нет - базу и лог разделять нужно всегда.

ну я примерно так и сделал этот момент.

Steve242Вопрос:
- куда в этой архитектуре _в идеализированном варианте_ нужно помещать каталог 'скелета' базы 1С (с конфигами и юзерскими
папками) ?
Нету "идеального" варианта. Ложится на Терминал, а уже положишь ты в програм файл или в другую папку (логический диск) - особой разницы нет. Я обычно ложил на диск D.

just the same :)
...
Рейтинг: 0 / 0
33 сообщений из 33, показаны все 2 страниц
Форумы / [игнор отключен] [закрыт для гостей] / SQL2000 отфутболивает при попытке залить в него базульку 1C77 ТиС
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]