Экспресс-конвертер SQL-DBF для 1С 7.7. |
Многие предприятия, использующие DBF версию 1C Предприятие 7.7, по мере увеличения объемов БД сталкиваются со следующими проблемами: 1) Увеличение времени переиндексации при первом входе в систему. В результате этих проблем все более актуальным становится вопрос перехода на SQL версию. При переходе на SQL версию 1С Предприятие 7.7. ИТ службы сталкиваются со следующими проблемами: Не все компании готовы оптимизировать модули документов и отчетов под работу c SQL, а даже если и готовы, то это требует какого-то времени. При этом очень часто необходима операция перепроведения документов, которая в монопольном режиме 1С DBF значительно быстрее в силу специфических применяемых механизмов кэширования. Конечно, возможно рассмотреть вариант, когда база будет регулярно выгружаться из DBF в SQL и обратно стандартными средствами 1С, но на больших БД это время может оказаться очень большим. В этой статье я попытаюсь рассмотреть различия в структуре 1C DBF и SQL форматов, а также методы быстрого их преобразования. Сравним структуру файлов DBF и структуру таблиц на примере таблицы _1sjourn. Необходимо сразу отметить, что в DBF она называется 1sjourn.dbf а в SQL _1sjourn. Отличие в именах на подчеркивание впереди связано с невозможностью в SQL назвать таблицу с цифрой в начале наименования. Структура файла 1sjourn.dbf
Структура таблицы _1sjourn
Пример кода из трассы : Delete from RG438 where PERIOD={d '2003-03-01'}; Delete from RG438 where PERIOD={d '2003-02-01'} and SP442=0 and SP443=0 Наверняка многие замечали, что в случае нарушения агрегации данных помогает выгрузка-загрузка БД, потому как в этом случае все агрегации пересчитываются заново. Решение компании SoftPoint позволяет как программно, так и интерактивно реализовать экспресс преобразование форматов базы данных под управлением 1С Предприятие 7.7. В данном решении используются средства наиболее эффективного экспорта данных, ускорение в случае использования этого решения по сравнению со стандартными средствами 1С составляет от 10 до 100 раз. Рассмотрим краткое описание концепции реализации этого продукта. Существуют различные средства доступа к данным в формате DBF и SQL. Например, для того что бы из MSSQL сервера обращаться к данным в формате DBF достаточно подключить linked server выбрав в нем провайдером доступа Driver={Microsoft Visual FoxPro Driver}. sp_addlinkedserver BackgroundFetch=Yes;Null=No;Deleted=Yes'
SELECT * FROM OPENQUERY(DBF,'select * from DH1582') Указанный ниже запрос вернет выборку данных с файла DH1582.DBF, как будто бы он был таблицей SQL. Для того, что бы быстро преобразовать данные из DBF в SQL, необходимо произвести импорт объектов посредством провайдера. Затем привести в соответствие поля и индексы таблиц. После чего, просто скопировав MD и DDS файлы, можно будет пользоваться в рабочем режиме базой данных в формате SQL. Применение этого продукта заключается в быстрой выгрузке данных с SQL на DBF. После чего в монопольном режиме запускается процедура перерасчета или перепроведения документов. В монопольном режиме файлы DBF будут эффективно кэшироваться, за счет чего проведение документов может быть существенно быстрее, чем в разделенном режиме или в режиме SQL. После выполнения регламентной операции возможно данные быстро экспортировать из формата DBF обратно в формат SQL. С целью автоматизации этот функционал реализован как в интерактивном режиме, так и программно. Можно вызвать метод ПреобразоватьВDBF или ПреобразоватьВSQL с указанием параметров доступа к базам и эти процедуры выполнятся автоматически. Вставив между этими двумя методами пакетный запуск 1С с процедурой запуска перерасчета или перепроведения, можно процесс полностью сделать автоматизированным.
Перепечатка, воспроизведение в любой форме, распространение, в том числе в переводе, любых материалов с сайта www.softpoint.ru возможны только с письменного разрешения компании "СофтПоинт". Это правило действует для всех без исключения случаев, кроме тех, когда в материале прямо указано разрешение на копирование (основание: Закон Российской Федерации "Об авторском праве и смежных правах").
|
Статья: Экспресс-конвертер SQL-DBF для 1С 7.7. |
Перейти на главную страницу компании "Софтпоинт" |