Codebase error -70 при переносе справочника #118043


#0 by stepol
Написал обработку для переноса справочника из одной базы через ОЛЕ в другую. Небольшие справочники переносятся нормально, а при переносе большого справочника (нескольго десятков тыс. элементов) примерно на половине справочника 1С подвисает с сообщением codebase error -70. Ошибка чтения файла ...(путь к базе)sc41.cdx. Этот файл как раз является индексом переносимого справочника. В этот момент его размер почти 2Гб. Ошибок в базе нет т.к. она создается заново. База локальная, сети нет. Эта фигня 100% повторяется и на Вин ХР(фат-32) + 1С(21рел. локальная) и на Вин 2000(нтфс) + 1С(25 рел. SQL *.DBF). Вылетает всегда на одном и том же элементе. Если его закоментировать, то вылетает на следующем и т.д. Элементы справочника записываются без транзакций. Поэтому потом при забуске базы видно, что все предыдущие элементы перенеслись нормально.Помогите, кто чем сможет, а то время начинает поджимать.
#1 by Мелена
По-моему дело в размере - 2Гб. Для dbf это критический размер.
#2 by stepol
Не, это размер .cdx 2Гб, а сам .dbf при этом несколько Мб. Хотя мне тоже кажестя что проблема в этом магическом числе, вот только непонятно от чего она и как ее лечить. Хотя если верить сообщению об ошибке то это происходит при чтении файла, а не при записи.
#3 by КонецЦикла
Странно... как это ДБФ - несколько мег, а ЦДХ - 2000! Шо за спр-к?
#4 by НикПодДавлением
дело однозначно в размеревыгружай частями
#5 by Муму после всплытия
наверно каждое поле с признаком сортировки....................... как минимум.....................
#6 by Glide
Перед переносом убей в конфигураторе ОтборПоРеквизиту по этому справочнику - Другими словами уменьши файл индексов. Это очень "круто" - иметь индексы многократно бОльшего размера, чем файл данных...Ммм... не уверен, что сможешь восстановить свои Отборы/Сортировки после заливки данных.
#7 by stepol
Сам dbf - 2Мб. Ну насколько я знаю индексы сильно разрастаются во время работы.
#8 by Glide
в тысячу раз??? Круто! Точно все поля с сортировкой! Да еще и подчинения небось?
#9 by stepol
Всего у справочника 5 реквизитов. В основном символьные в пределах 10 символов. Отбор включен по только одному из них. Это единственный реквизит с отбором и я им пользуюсь при переносе. И он имеет большую длинну (100 символов). Может в этом причина? Попробую уменьшить до 50 символов (мин возможная величина).
#10 by var
удали сортировки отборы и сам индекс физически в копии попробуй расскажешь
#11 by var
дааааа еще есть упаковка таблица с индексом явно не то что то
#12 by КонецЦикла
2 Так что за спр-к, если не секрет? Почему не ссылочки, а строки по 100 символов? Это новая тенденция развития 1С?
#13 by stepol
На сомом деле все банально.Справочник адресов в соответствии в КЛАДР налоговой. А длинным полем с отбором является полное наименование адреса в строку. Это сделано для быстрого поиска нужного адреса из других объектов. Я не большой специалист в 1С, и если кто нибудь подскажет, как это было лучше сделать, то буду благодарен.
#14 by stepol
Все заработало!!!Уменьшил размер поля до 50 символов.Перенос заработал раза в 2 быстрее, размер цдх при прохождении критической точки был всего 1.8 Мб. Честно говоря не понимаю почему такая бльшая разница в размерах файла, при всего двехкратном изменении размера поля.П.С. Всем большое спасиоб!!!
#15 by КонецЦикла
2 А думаешь 1С-сине лихко делать индексы на строку такой длины? Это ж не спр-к, а строка... индекс - мама не горюй!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям