DBEng32 (6.0.4.2, Advantage 8.1/9.1) - клиент/серверное использование DBFной версии 1С:Предприятие 7.7

Опубликовал Владимир (hogik) в раздел Программирование - Внешние компоненты

Данная разработка позволяет использовать систему 1С:Предприятие 7.7 (DBFная версия) в режиме клиент/сервер на базе сервера Advantage 8.1/9.1 разработанного фирмой Extended Systems Inc. Предлагаемое решение позволяет устранить основные недостатки DBFной реализации поддержки баз данных 1С:Предприятие 7.7.
Аналогичная разработка: http://infostart.ru/projects/811/

Скачать файлы

Наименование Файл Версия Размер
BIN_ADS_6042.ZIP
.ZIP 1,84Mb
07.03.11
317
.ZIP 1,84Mb 317 Скачать бесплатно
AddInExt_1008.zip
.zip 14,64Kb
02.01.12
74
.zip 14,64Kb 74 Скачать бесплатно
BIN_ADS_6040.ZIP
.ZIP 1,84Mb
02.01.12
189
.ZIP 1,84Mb 189 Скачать бесплатно
BIN_ADS_6038.ZIP
.ZIP 1,83Mb
02.01.12
67
.ZIP 1,83Mb 67 Скачать бесплатно

См. также

Комментарии
1. Доржи Цыденов (support) 4407 28.10.07 09:21 Сейчас в теме
Основное различие шестой и пятой версии?
2. Владимир (hogik) 417 28.10.07 17:40 Сейчас в теме
(support) (1)
“Основное различие шестой и пятой версии?”
Выделено жирным шрифтом в “Краткое описание”.
3. Доржи Цыденов (support) 4407 28.10.07 18:06 Сейчас в теме
Лучше было бы, если это было ясно из заголовка
4. desty (lustin) 29.10.07 07:17 Сейчас в теме
затестил совместимость с прямыми запросами
получается ошибка
FAILED! ICommandText::Execute(): d:\_work\test_base\rg405.dbf is not a table

применительно к провайдеру OLEDB

Таким образом есть вопрос: "Будет ли возможность использовать 1С++ в части прямых запросов"

5. desty (lustin) 29.10.07 07:23 Сейчас в теме
Причем:
1. Если применять VFP OLEDB -
будет ошибка "rg405.dbf is not a table"

2. Если применять Advantage OLE DB (читай родной драйвер) -
будет ошибка " Error 7014: Invalid DBF table. Table name: rg405"

Странно что при разработке решения забыли про такой момент как 1С++
6. bpx (bpx) 29.10.07 12:10 Сейчас в теме
А если поместить md файл в саму базу, и в настройках указываать ip адрес для конекта с базой ну и ваши блокировки тоже держать в базе а не в файлах LCK Возможно ли это реализовать?
7. Владимир (hogik) 417 29.10.07 19:52 Сейчас в теме
(desty)
“OLEDB, VFP OLEDB, Advantage OLE DB”
Полученный Вам результат очевиден:
1) В разработке используется не DBF формат файлов.
2) Файлы стандарта ADSа имеют не стандартное (ADT/ADI) расширение, а расширение - DBF/CDX.
"Будет ли возможность использовать 1С++ в части прямых запросов"
Если данная разработка покажет преимущества по скорости в среде 1Са по сравнению с аналогичной разработкой на CodeBase, то будут развиваться средства РУС. В том числе и в части прямых запросов на SQL. Но выполнение прямых запросов будет не через 1С++.

(bpx)
Я не совсем понял - о чём идёт речь.
“А если поместить md файл в саму базу”
Данная разработка не обращается к этому файлу.
“указываать ip адрес для конекта”
Посмотрите описание функции AdsConnect() в Advantage 8.1. Если Ваш вопрос возник в части использования Linux в качестве серверной ОС, то, думаю, задача решается другим способом.
“ваши блокировки тоже держать в базе а не в файлах LCK”
В данной разработке не используются файлы LCK для блокировок.
8. miandrew (miandrew) 02.11.07 17:35 Сейчас в теме
Чего то как то не сильно заметен прирост. Все отчеты пока формируются дольше...
9. Владимир (hogik) 417 02.11.07 17:46 Сейчас в теме
(miandrew)(8)
"Чего то как то не сильно заметен прирост"
По сравнению с чем? В какой тестовой платформе (сеть, локально, количество пользователей и т.д.)? Если не трудно – поподробней.
10. Владимир (hogik) 417 06.11.07 15:42 Сейчас в теме
Судя по рейтингу – “кривые запросы” для SQL делать не надо. Это радует…
11. angro (angro) 07.11.07 09:24 Сейчас в теме
много людей считает, что если разработка не продаётся следовательно автор не надёжен и в любой момент бросит.
12. miandrew (miandrew) 07.11.07 13:06 Сейчас в теме
или просто не рискуют данными базы....
13. Владимир (hogik) 417 07.11.07 18:01 Сейчас в теме
(angro)
“много людей считает, что если разработка не продаётся следовательно автор не надёжен и в любой момент бросит”
Хорошо, что есть и другие люди. ;)
(miandrew)
“или просто не рискуют данными базы....”
Да. Такие разработки надо хорошо проверять, перед тем как решиться на их использование. Как и любые СУБД. Пример тому ошибка в сервере CodeBase (транзакции при включенной оптимизации). А они продают его больше десяти лет. Продукт – платный. :)
14. Belomor (Belomor) 86 07.11.07 19:12 Сейчас в теме
to (hogik) Спасибо большое!
А вот с 1С++ было бы все-таки подружить неплохо :)

to (all)
Очень приятно удивил объем инсталлятора ADS и возможности
Про ADS обзорная информация http://www.hotsoft.ru/ADS/index.htm
15. Владимир (hogik) 417 07.11.07 22:19 Сейчас в теме
(Belomor)
“А вот с 1С++ было бы все-таки подружить неплохо”
Если речь идет о прямых запросах, то сделать больше чем в операциях 51-59 РУСа, не удастся. Разработчики ADS сделали типичную ошибку – “навигационный доступ” к данным для свободных (в терминологии словаря данных) таблиц и SQL несовместимы, если использовать ADT/ADI формат таблиц.
16. Belomor (Belomor) 86 08.11.07 00:29 Сейчас в теме
(hogik) Ну нет - так нет :) У меня сейчас загружается в ночь одна ядреная базуля, завтра посмотрю на ее быстродействие. Хотя по ощущениям, загрузка идет медленнее, чем родная от 1с. И еще вопрос - обратный переход к родному DBF возможен или пока не реализовывался?
17. Владимир (hogik) 417 08.11.07 00:53 Сейчас в теме
(Belomor)
“по ощущениям, загрузка идет медленнее”
Вы, надо полагать, делаете загрузку на той же машине, где лежит база данных (т.е. не по сети). В таком режиме “родные” DBFы будут работать всегда быстрее. Сравнивать производительность надо при работе в сети.
“обратный переход к родному DBF возможен”
Той же выгрузкой-загрузкой. Обратный конвертор писать не планирую.
18. Сhe Burashka (CheBurator) 08.11.07 00:53 Сейчас в теме
Поясните тупому - аналогичная для CodeBase и эта разработка - они как соотносятся? и почему появилась эта? та, что на CodeBase - ее какая судьба будет?
.. и просто интересно: у автора есть статистика работы с "его" серверами с 1С - т.е. сколько народа использует ЭТО в посведневной работе 1С?
19. Belomor (Belomor) 86 08.11.07 01:30 Сейчас в теме
(hogik) "Той же выгрузкой-загрузкой" Этого более чем достаточно
"делаете загрузку на той же машине" Так точно. А как работа в пользовательском варианте на той же машине? Тоже чудес ждать не стоит?
20. Владимир (hogik) 417 08.11.07 01:47 Сейчас в теме
(Сhe Burashka)
>> “Поясните тупому”
Шутка, да?
>> “аналогичная для CodeBase и эта разработка - они как соотносятся?”
Делают разработки одно и тоже, но на разных СУБДах.
>> “и почему появилась эта?”
Мне известны всего две СУБД, на которых можно сделать данную разработку. Об ADS я узнал чуть позже, чем о CodeBase – когда разработка на CodeBase уже была опубликована. Но, на мой взгляд, ADS “мощней”, чем CodeBase. Вот и сделал на ADSе. Замечу, что, похоже, разработчики ADSа не знали о существовании CodeBase. Т.к. на сайте, продающем эту СУБД сказано, что она единственная позволяющая организовать клиент/серверную технологию для xBase систем.
>> “та, что на CodeBase - ее какая судьба будет?”
Она живет своей жизнью. Будут ошибки – исправлю.
>> “у автора есть статистика работы с "его" серверами с 1С - т.е. сколько народа использует ЭТО в посведневной работе 1С?”
За народ ничего не скажу. А у нас она работает уже год. Сервер перезапускался только из-за потери электропитания и ошибок администратора БД. Раза два-три… Пару раз переиндексировали базу данных – не по причине заваливания сервера. Недостаток заметили один. На сервере со слабой подсистемой ввода/вывода возникают значительные задержки в интерактивных задачах, если запускается одновременно серьёзный отчет. Я попытался “направить” разработчиков CodeBase на решения этого вопроса – не получилось. Это тоже послужило причиной появления разработки на ADS.
21. Владимир (hogik) 417 08.11.07 02:01 Сейчас в теме
(Belomor)
"А как работа в пользовательском варианте на той же машине? Тоже чудес ждать не стоит?"
Если с сервером БД будут работать другие пользователи по сети, то лучше так не работать. А для регламентных работ так и надо работать. Скорость зависит от задач и самого железа. У меня документы проводятся раза в два быстрее (чем “родные” DBFы), а отчеты – наоборот. Сильно влияет системное кэширование. Повторный запуск отчета выполняется раз в пять быстрее первого запуска. Но, повторюсь, не для этого делался клиент/сервер – в сети, при большом количестве пользователей надо сравнивать.
22. Belomor (Belomor) 86 08.11.07 12:53 Сейчас в теме
23. Сhe Burashka (CheBurator) 08.11.07 13:08 Сейчас в теме
(20) Спасибо за разъяснения. А как-нибудь вечерком по асе можно пообщаться?
24. Владимир (hogik) 417 08.11.07 16:48 Сейчас в теме
(Сhe Burashka)
“по асе можно пообщаться?”
У меня нет асе. Лучше - по обычному телефону.
25. Item (item) 16.11.07 10:38 Сейчас в теме
Где взять Advantage Data Architect 8.1?
26. Item (item) 16.11.07 11:00 Сейчас в теме
(25) Вопрос снят
Нашел все даже больше здесь http://www.hotsoft.ru/ADS/files.htm
27. sergling (sergling) 27 20.11.07 23:21 Сейчас в теме
Да уж, цены кусаются за сервер, не дешевле ли купить win2003 и поднять на ней терминал?
28. Владимир (hogik) 417 20.11.07 23:34 Сейчас в теме
Конечно дешевле. Т.к. для использования ADS надо купить и Windows Server и сам ADS.
29. Item (item) 21.11.07 16:15 Сейчас в теме
Поставил на промышленную базу 500 мб.
Юзеров - 8 шт, сервер - 2003 коредуо 2-х ядреный, 2 гиг память.
Неделя работы. Ошибок нет.
Скорость:
отчеты - в 3 раза быстрее,
документы - на прежнему,
списки - летают.

В общем - пока Супер.
Кодебазе отдыхает.

30. Владимир (hogik) 417 28.11.07 16:18 Сейчас в теме
Отдыхает не только CodeBase, но и “родные” DBFы. На базе данных размером в 6 гигабайт (только DBFов) производительность ADS в 2-3 раза выше на самых “тяжелых” задачах. Даже при благоприятном режиме работы “родных” DBFов – монопольном.
31. Albert (albert) 03.01.08 16:52 Сейчас в теме
На что влияет "Размер страницы в индексных файлах" (Строка № 5: файл DBEng32.ini)
32. Владимир (hogik) 417 03.01.08 17:17 Сейчас в теме
Посмотрите в описании к ADS два раздела:
1) Index Page Size.
2) Index Key Size and Page Size Relationships.
33. pstar Стариков (pstar) 23.01.08 11:31 Сейчас в теме
А почему бы не использовать родные дбФ зачем изменять формат не изменяя расширения? Ведь АДС поддерживает ДБФ формат
34. Владимир (hogik) 417 23.01.08 16:14 Сейчас в теме
(33)(pstar)
“А почему бы не использовать родные дбФ”
Формат ADI/ADT имеет ряд преимуществ перед CDX/DBF.
Вот основные:
1) Снято ограничение на размер таблиц в 1(2) гигабайта.
2) Работают быстрей.
3) Поддерживает средство использования пространства от удалённых записей без построения дополнительных индексов.
4) Позволяет изменять размер страницы (блока) индексных файлов.
Есть и недостатки, но их удалось преодолеть.
“зачем изменять формат не изменяя расширения?”
К сожалению, существуют “процессы” в 1С, которые хотят видеть файлы именно с расширениями CDX и DBF. В моей разработке эти “процессы” не перехватываются. Например, после реорганизации схемы базы данных переписываются файлы из рабочего каталога в основной каталог по расширениям CDX и DBF.
“Ведь АДС поддерживает ДБФ формат”
Да.
35. Tarasenkov (tarasenkov) 11.02.08 21:12 Сейчас в теме
Результаты тестов производительности ADS 4.3, MS-SQL 6.5 и Borland Interbase 4.2:
http://www.prbank.ru/pbsite.nsf/61272a04b78f320ec3256c70003bf47f/4234c7e1578f75e9c3256c8­400561174?OpenDocument

Тесты несколько устарели...
36. @lex alexeew (@lex) 75 03.03.08 08:34 Сейчас в теме
Вопрос к разработчику: Есть или нет DBEng32.dll для версии сервера 7.1?
37. Владимир (hogik) 417 03.03.08 17:59 Сейчас в теме
(36) "Есть или нет DBEng32.dll для версии сервера 7.1?"
Нет.
38. logdog (logdog) 03.03.08 19:45 Сейчас в теме
смотрю выходит Advantage 9.0. ... данная разработка думаю без проблем будет работать и на базе этого сервера?
39. Владимир (hogik) 417 03.03.08 21:19 Сейчас в теме
(38) “…выходит Advantage 9.0. ...будет работать и на базе этого сервера?”
Пока только - Beta. Я её еще не пробовал. Нововведений для наших задач там нет.
40. @lex alexeew (@lex) 75 04.03.08 05:57 Сейчас в теме
(37)

Тогда еще один вопрос - а возможно ли? Или чего-то для работы 1С не хватает в 7.1? Есть желание поставить на Linux, для него есть кряк (7.1), 8.1 только триал
41. Владимир (hogik) 417 04.03.08 17:45 Сейчас в теме
(40)
Запуск под Linux интересная и полезная задача. Но рекомендую сначала попробовать в версии 8.1. И если заработает, то дальше решим, что делать с версиями ADSа.
42. @lex alexeew (@lex) 75 05.03.08 01:51 Сейчас в теме
(40)
Проверил под 8.1 Библиотеки и в Linux и в Windows версии 8.10.0.18 (последние) сервер - на базе Linux (триал с оффсайта) клиенты на Windows. Имеем:
Ошибка 6316 - "The version of the Advantage Client Kit driver is newer than the version of the Advantage server. The version of the Advantage server must be the same or greater than the version of the Advantage Client Kit driver. " Пока не разобрался, в чем дело. Если такая же версия сервера запускается под Windows - тогда все ОК. Сегодня попробую качнуть и поставить 9.0. О результатах отпишу.
43. Владимир (hogik) 417 05.03.08 03:02 Сейчас в теме
(42)
Думаю, надо начать с запуска на клиенте под Windows утилиты “Advantage Data Architect 8.1” и попробовать соединиться с сервером, запущенным под Linux. В меню выбрать Tools->RemoteServerInfo, а там ввести значение в поле ServerDrive и нажать кнопку Connect.
44. @lex alexeew (@lex) 75 05.03.08 08:14 Сейчас в теме
(40)
с версией 8.1...
...нужно было поставить adsodbc на сервер с Linux, коннект есть, остались разрешения для файлов, получаю ошибку 7040 "File creation error" будем разбираться с разрешениями в Linux
45. Владимир (hogik) 417 05.03.08 17:54 Сейчас в теме
(44)
В моей разработке ODBC не используется. Чтобы запустить разработку с сервером ADS под Linux надо обеспечить одновременный доступ к файлам базы данных для приложения, работающего в Linux (сервер ADS), и приложения, работающего в Windows (клиент 1С+DBEng32). Это в Linux возможно?
46. @lex alexeew (@lex) 75 06.03.08 08:19 Сейчас в теме
(44)
А без установки ODBC для Linux ругается на версию сервера. Пришлось ставить. После этого ошибка пропала. Разобрались и с 7040. Оказывается, что в корне файловой системы нужно создать зеркало расшареного каталога со всеми вложенными каталогами и файлами. Вот ответ от разработчиков http://devzone.advantagedatabase.com/dz/content.aspx?Key=17&RefNo=020312-1400
После копирования папки в корень сразу не работает, 1С ругается насчет транзакций, пришлось тянуть базу в Windows и конвертить с помощью ConvDBF
47. @lex alexeew (@lex) 75 06.03.08 08:59 Сейчас в теме
(46)
Все, с одним пользователем работает :), но тормоза жуткие, надо настраивать ADS сервер
48. @lex alexeew (@lex) 75 06.03.08 09:47 Сейчас в теме
Прошу прощения за флуд, но два Windows клиента с работают на ура :). Осталось победить долгую загрузку структуры данных и потестить на большем количестве пользователей
49. Владимир (hogik) 417 06.03.08 16:54 Сейчас в теме
(46-47) Молодец. Спасибо.
Долгая загрузка структуры данных в монопольном режиме? При первом входе в 1Су? А как вообще производительность? И по сравнению, с каким использованием 1Са?
50. @lex alexeew (@lex) 75 07.03.08 02:38 Сейчас в теме
(49)
Долгая загрузка структуры данных программы при любом входе, я думаю, это чисто сетевая проблема. Производительность как на локальной базе практически. Но есть еще одна проблема, пока не знаю из-за чего... Еще трех клиентов не удается подключить, ошибка 6420, пока непонятно, боремся :)...
51. Владимир (hogik) 417 07.03.08 02:54 Сейчас в теме
(50)
Ошибка 6420, думаю, из-за ограничения на пять пользователей для демо-версии. Долгая загрузка, именно, структуры данных или долго открываются файлы? Спрашиваю об этом потому, что у меня были сложности и при использовании Windows версии. Но в этом направлении мне можно работать дальше. Очень радует, что производительность близка к режиму работы локальной базы. Может мне пора заняться версией 7.1, а Вам (если есть желание) написать маленькую инструкцию по установке системы на Linux для публикации на данном сайте? Я посмотрел описание версии 7.1. На первый взгляд проблем не будет. Но отлаживать работу с самим сервером придётся на Вашей территории.
52. @lex alexeew (@lex) 75 11.03.08 02:33 Сейчас в теме
(51)
Инструкцию написать несложно, вот только разберемся с ошибкой, т.к. пока удалось запустить только двух пользователей. Как запустим 5, тогда можно будет говорить об успешной установке и настройке.
53. Владимир (hogik) 417 11.03.08 03:10 Сейчас в теме
Странно это. Такое впечатление, что ОНО считает один вход за два. А что показывает “Advantage Configuration Utility”?
54. @lex alexeew (@lex) 75 11.03.08 05:42 Сейчас в теме
(51)
Все, пофиксили, ADS.INI поправили и положили в каталог bin, все заработало
55. @lex alexeew (@lex) 75 11.03.08 09:17 Сейчас в теме
(53)
Нет, ОНО не считает один вход за два, просто по умолчанию ищет конфигурацию в каталоге ...1cv77\bin. И кстати, снесли сервер 8.1, поставили версию 7.1, в ...1cv77\bin\ кинули библиотеки ace32.dll версии 7.10.0.15 и axcws32.dll версии 7.10.0.1 из пакета aceapi для версии 7.1. РАБОТАЕТ!!! :)
56. @lex alexeew (@lex) 75 11.03.08 10:21 Сейчас в теме
57. Владимир (hogik) 417 12.03.08 00:30 Сейчас в теме
Добавлена сборка для Advantage 7.1.
58. shoorlo yak (shoorlo) 4 05.07.08 14:39 Сейчас в теме
Прочитал: документацию к разработке, все отзывы здесь, посмотрел на цену ADS.
Да, действительно, видимо работает быстрее и надежнее DBF/SQL (надежнее DBF, быстрее SQL).
НО сервер ADS не "бесплатный".
Вопрос: Может быть всетаки есть смысл сделать аналогичную разработку на бесплатном сервере (Firebird, MySQL, Postgresql ...).
При этом я понимаю что это будет работать медленнее чем CodeBase и ADS по причинам описанным Вами в "DBEng32.doc".
Но решит проблему "1Гб" дбф версии,
плюс бесплатность и надежность SQL - серверов,
плюс на linux ставить и обслуживать легче...
Может быть есть возможность сделать такую "Вестчь" как транслятор из обращений к MSSQL в обращения к другому бесплатному SQL серверу? Типа как делает "WINE@Etersoft SQL" в linux?
В любом случае спасибо за Ваш труд.

59. Владимир (hogik) 417 05.07.08 16:15 Сейчас в теме
(58)(shoorlo)
“Может быть есть возможность сделать такую "Вестчь" как транслятор из обращений к MSSQL в обращения к другому бесплатному SQL серверу?”
На уровне интерфейса DBEng32 – нет.
См. ответ (110) в http://infostart.ru/projects/811/
См. ответ (128) в http://infostart.ru/projects/2127/
“это будет работать медленнее чем CodeBase и ADS”
О скорости разговора не возникнет. На маленькой базе это будет работать, а на большой базе оценить скорость будет не возможно. Не дождётесь результата. Но для маленьких баз и DBFная версия работает не плохо.
“Типа как делает "WINE@Etersoft SQL" в linux?”
Но это уже сделано. И это, думаю, единственный способ посадить 1С на другой SQLной сервер. Однако меня в этой разработке смущает (теоретически) скорость работы такого решения исходя из моего понимания MS SQL и PostgreSQL. Т.к. (практически) такую реализацию я начинал делать. И отказался от такого решения.
“Но решит проблему "1Гб" дбф версии,”
Расширение с 1 на 2 гигабайта сделано в http://infostart.ru/profile/2905/projects/1725
Расширение до 2147483647 записей сделано в http://infostart.ru/projects/811 и в этой разработке режим файл-сервер бесплатный. Т.е. использование в режиме терминал-сервер данной разработки снимает ограничение на размер (в рамках разумного) таблицы базы данных.
“надежнее DBF/SQL (надежнее DBF, быстрее SQL).”
Я и к DBF добавил бы слово “скорость”. Т.к. по моим оценка на нашей системе оно работает быстрее, чем штатные DBFы.
“НО сервер ADS не "бесплатный".”
Я данную разработку делал как конкурент MS SQLному решению. Как в части выигрыша скорости без переделки конфигурации, так и в части цены.
60. shoorlo yak (shoorlo) 4 07.07.08 12:49 Сейчас в теме
Спасибо за полный ответ.
61. Евгений Долиновский (Dolly_EV) 263 16.12.08 13:29 Сейчас в теме
Ну вот, свершилось! Сразу хочу выразить автору огромнейший РЕСПЕКТ!!
Ситуация:
База около 10 Гб, УРБД - 10 филиалов, при слиянии двух фирм, и переносе остатков размер 1SENTRY.DBF в центральной БД резко скакнул за 2Гб.
И как следствие - все ВСТАЛО!
Перевод на СКЛь центральной БД особо не помогал ,т.к. на периферийках размер злосчатсной таблицы проводок подкатывал так же к критическому порогу в 2 147 483 648 байт, и запаса хватало на 2-3 дня работы.
Перевод на СКЛь всех филиалов в кратчайшие сроки (1-2 дня) так же не реален, ибо некоторые филиалы в самом захолустье региона с интернетом, который "то потухнет / то погаснет"

Итог:
1 . используя данную разработку разбросал по филиалам дистрибутив (вместе с сервером ADS = 16 мб в архиве) и за 2 дня перевел половину баз на ADS
2. 4 дня - полет нормальный - по скорости - так же как в ДБФ (отчеты - немного быстрее), транзакции перестали доставать.

Замечание:
при конвертации баз ИМХО быстрее использовать ConvDBF.exe, нежели выгрузку/загрузку. У меня по времени получилось - Conv - около 3 часов, а вот с загрузкой "попал" на 16 часов (хотя может и на сервере были какие проблемы..)

Вобщем, сие творение - спасательный круг для варианта "между СКЛь и ДБФ"!
Еще раз огромное спасибо!
62. Albert A (albert) 563 23.12.08 11:37 Сейчас в теме
Почему то долго документы делаются не проведенными (ок. 10000 строк проводок)- до 20-30 мин., а проводятся относительно быстро - 5-10 мин.

Платформа 025, Бухгалтерия рел. 493, DBEng32 (Сборка версии 6.0.1.4)
63. Владимир (hogik) 417 23.12.08 17:15 Сейчас в теме
(62)(Albert)
А с родными DBFами, в аналогичных условиях запуска сессии 1С, сколько минут выполняются эти действия?
64. Albert A (albert) 563 23.12.08 18:00 Сейчас в теме
(63) С родными DBF: сделать не проведенным 6 мин., провести 10 мин.
У документа 17 тыс. проводок.
65. Сhe Burashka (CheBurator) 23.12.08 18:19 Сейчас в теме
(61) > т.к. на периферийках размер злосчатсной таблицы проводок
а имеет ли смысл в центре иметь детальную до гвоздя проводку???
66. Владимир (hogik) 417 23.12.08 19:32 Сейчас в теме
(64)(Albert)
Возможно влияет кэширование на стороне сервера. Меняется время, если выполнить депроведение после проведения? В каком режиме проводится замер - монопольно, локально и т.д.? Используется операция #61 из РУСа?
67. Евгений Долиновский (Dolly_EV) 263 24.12.08 06:28 Сейчас в теме
(65) наверное имелось ввиду "в периферийке" а не "в центре"?
смысла конечно не имеет, только так уж исторически сложилось (и это необходимо), что миграция по основным документам "все - везде"
68. Albert A (albert) 563 24.12.08 10:18 Сейчас в теме
(64) Терминальный сервер (проц. Q6600, ОЗУ 4 Гб, Win server 2003 SE):
-1С 7.70.025
-Advantage Server 8.10.0.18

Соответственно захожу по терминальной сессии монопольно. Никакие операции из РУСа не использую.

Замечено: на диске С: в момент проведения/депроведения создаётся файл с расширением *.TPS. Причем при проведении он достигает размера 120 мб (для документа с 4774 проводками), а при депроведении 60 мб. Но скорость создания этого файла в 2-3 раза (условно) быстрее при проведении.

Время, если выполнить депроведение после проведения, не меняется (по-моему).

З.Ы. Есть документ с 17 тыс. проводками, так файл *.TPS достигал 900 мб.
69. Владимир (hogik) 417 24.12.08 21:11 Сейчас в теме
(68)(Albert)
Если у Вас есть возможность, поставьте в глобальном модуле вызов: EXT._(61,"",1), загрузив внешнюю компоненту AddInExt. Интересно, изменится ли время депроведения документа?
70. Владимир (hogik) 417 25.12.08 05:09 Сейчас в теме
(68)(Albert)
Я выяснил, что причина медленного депроведения документов и большого файла *.TPS в большом количестве удаляемых записей в рамках одной транзакции. Так криво это у них реализовано. Я проверил это и в версии 8.10.0.38 - никакой разницы. Думаю, ускорить этот процесс можно путем разнесения базы данных и *.TPS на разные жесткие диски. Как это обойти в DBEng32 - пока, не придумал. Вопрос к Вам. Зачем использовать Advantage в режиме терминал сервер? Если из-за размеров таблиц, то, на мой взгляд, логичнее использовать DBEng32 для CodeBase 6.5 в режиме ПДБД. Бесплатно, нет ограничения на количество пользователей, размер таблиц не ограничен 1(2) гигабайтами, скорость работы как в локальном режиме родных DBFов, имеются полезные настройки, устранены врожденные клинчи и т.д.
71. Albert A (albert) 563 25.12.08 09:48 Сейчас в теме
(69) Время депроведения не меняется :(
Буду пробовать CodeBase...
72. Albert A (albert) 563 25.12.08 18:09 Сейчас в теме
(70) А из формата Advantage в CodeBase есть конвертер?
73. Владимир (hogik) 417 26.12.08 00:46 Сейчас в теме
74. AL2004 (AL2004) 08.01.09 22:25 Сейчас в теме
(hogik) Очень интересная разработка.
Существует ли возможность разнести файлы конфигурации (*md) и файлы базы (dbf) в разные каталоги для работы пользователей, т.е. закрыть для пользователя файлы БД? Если я правильно понял, это возможно для CodeBase.
75. Владимир (hogik) 417 08.01.09 23:24 Сейчас в теме
(74)(AL2004)
Для Advantage - нельзя. Для CodeBase - не рекомендуется, т.к. не будет работать реорганизация БД, тестирование и исправление ИБД, реиндексация и т.д.
76. AL2004 (AL2004) 09.01.09 02:29 Сейчас в теме
(hogik)
Спасибо за ответ. Для проекта желательно разнести конфигурацию и базу данных, модификация и переиндексация базы будет осуществляться локально на сервере. Что посоветуете?
Ранее была Ваша информация о соотношении производительности ADS/CodeBase как 5/1 на операциях чтения.
Информация на текущих релизах актуальна?
77. Владимир (hogik) 417 09.01.09 04:14 Сейчас в теме
(76)(AL2004)
"желательно разнести конфигурацию и базу данных... Что посоветуете?"
В этом случае посоветую MS SQL ;-)))
"ADS/CodeBase как 5/1 на операциях чтения"
На "тупых" операциях чтения почти 1/1. См. http://infostart.ru/blogs/482/
"Информация на текущих релизах актуальна?"
По нашему опыту эксплуатации на Advantage (в сетевом режиме, на реальных задачах, без изменения конфигурации) работает в два (и более) раза быстрее чем родные DBF. А на CodeBase (в наших условиях) работает медленнее чем родные DBF. Но это зависит от задач, количества пользователей, железа и т.д.
78. Олег (kerya33) 10.01.09 08:30 Сейчас в теме
Хочу попробовать Вашу разработку, 1С БД под SQL ~ 20 ГБ, сконвертировать в DBF нет возможности, т.к. размер некоторых таблиц первышает 2 ГБ. Выгрузил БД в csv формат. Могу ли я воссоздать структуру и данные в ADT/ADI, используя Advantage Data Architect (Tools - Import data - Delimited Text File)? Или можно как-то по другому ?
79. Владимир (hogik) 417 10.01.09 17:08 Сейчас в теме
(78)(kerya33)
"Или можно как-то по другому ?"
Можно использовать штатные средства конфигуратора выгрузить/загрузить данные. Для больших баз данных - http://infostart.ru/projects/1512/
80. Александр Маляев (maljaev) 768 28.01.09 10:42 Сейчас в теме
База 1.5 Гб. Максимальный размер DBF - 500 Мб.

1. Терминалка + DBEng32 6.0.1.5 + Advantage 9.0
2. Терминалка + DBF + патченый dbeng32.dll (для включения кэширования записи на диск)

Погонял и так и эдак. Быстродействие второго варианта выше минимум раза в 2 как на отчетах, так и на проведении/распроведении. Даже при двукратном использовании тех же документов и отчетов (так что кэш Advantage тут не причем). Единственное, что понравилось в первом варианте - то что индексы не рушатся при нештатном завершении сеанса 1С, но жертвовать ради этим быстродействием в разы я не готов, да и в терминалке эта проблема не так актуальна.
81. Евгений Мартыненков (JohnyDeath) 290 28.01.09 11:57 Сейчас в теме
(80) а что за патч такой для включения кэширования? Где почитать/попробывать?
82. Ёпрст (Ёпрст) 1017 28.01.09 12:03 Сейчас в теме
(81) http://www.kb.mista.ru/article.php?id=136
читай в конце страницы...
искать в закромах саму библиотеку-лень..где-то валялась :)
83. Ёпрст (Ёпрст) 1017 28.01.09 12:05 Сейчас в теме
(80) гонял аналогично, забил на адвантадж.. Он подойдет только, если исключить Терминал из цепочки, как альтернатива скулю...
Имхо.
84. Евгений Мартыненков (JohnyDeath) 290 28.01.09 12:43 Сейчас в теме
(82) а включение кэширование записи в свойствах самого винта - это не то?
85. Ёпрст (Ёпрст) 1017 28.01.09 12:44 Сейчас в теме
86. Владимир (hogik) 417 28.01.09 19:38 Сейчас в теме
(80)(maljaev)
А почему возникает желание проверять клиент/серверную СУБД в режиме "Терминалка + DBEng32 6.0.1.5 + Advantage 9.0"? Чего мне надо написать в инструкции, чтобы люди не тратили своё время на такие проверки? Для терминального режима логичнее использовать разработку на "CodeBase 6.5" в режиме ПДБД используя RAM диск для файла транзакций. По скорости работы в локальном режиме посмотрите http://infostart.ru/forum/forum16/topic8048/messages/ И, думаю не придется использовать "патченый dbeng32.dll (для включения кэширования записи на диск)" в ущерб надежности системы.
87. Владимир (hogik) 417 28.01.09 19:39 Сейчас в теме
(81)(JohnyDeath)
Не рекомендую использовать этот "патч...для включения кэширования".
88. Александр Маляев (maljaev) 768 28.01.09 23:37 Сейчас в теме
(87) Да уж год как с этим патчем и сам, и клиенты в терминалке работают - полет нормальный, никаких нареканий. На одной из баз (где документ при проведении создает еще несколько подчененных) скорость проведения этого документа при использовании патча возрастает где-то в 10 раз по сравнению с типовым, почему так сильно и сам незнаю. Но патч можно юзать либо на локальной базе, либо в терминалке. В сетевом доступе - ни в коем разе!
P.S. А с CodeBase поколдую на досуге...
89. Владимир (hogik) 417 29.01.09 04:08 Сейчас в теме
(88)(maljaev)
"скорость...возрастает...в 10 раз..., почему так сильно и сам незнаю"
;-))) А я знаю, поэтому и не рекомендую его использовать.
Вызов FlushFileBuffers() в многопользовательских системах используется для гарантированного предоставления непротиворечивой информации после обновления информации одной задачей для другой. Для этого, при записи, выполняется примерно такая последовательность операций:
1) Блокировать "семафор".
2) Обновить группу связанных записей.
3) Сбросить буфера на диск.
4) Разблокировать "семафор".
Читающая задача опрашивает "семафор" и начинает чтение данных только после его разблокировки. Что произойдет если поменять местами операции #3 и #4? Читающая задача может получить противоречивую информацию, т.к. часть связанных записей не будет находиться на диске. А именно это и делается, если не выполнять операцию #3 и отдать сброс буферов на откуп операционной системе. А предложение автора данного "патча" о выборочном сбросе буферов (в части *.CDX) ошибочно, т.к. такая, в частности, последовательность операций выполняется при обновлении и чтении индексный файлов.
90. Олег (kerya33) 30.01.09 19:56 Сейчас в теме
После моих неудачных экспериментов с wine@etersoft, postgre и selta, http://linuxforum.ru/index.php?s=4aa56fdbdac796163b8b8d3745acc6ee&showtopic=83515 решил попробовать Вашу разработку. Выгрузив по Вашему совету почти 30Гб базу компонентой от romix'а, загрузил ее под ADS server на windows. Размер некоторых таблиц достигал 3Гб, но производительность при работе с журналами и списками стала на порядок выше, чем в selta. Поднял ADS на линукс (спасибо @lex, кстати никакие adsodbc не потребовались). 1С из под windows работает нормально. Установил 1С под wine@etersoft на ту же машину, что и ADS. Advantage Data Architect тоже из под wine@etersoft нормально видит и локальный сервер и удаленный (сервер в локальной сети так-же пробовол и под windows и под linux). 1C из под wine коннектится и к локальному и к к удаленному (через cifs) ресурсу. Но вот ошибку 7040 "File creation error" так и не смог победить. Подозреваю, что это из за того, что wine имеет ограниченную область видимости в linux, а ADS-у под линукс нужно зеркало расшареного ресурса в корне. Очень хочется подружить ADS и 1С клиента под линукс. Посмотрел в сторону Вашей разработки на Codebase, но нигде в сети не могу найти Codebase сервер под линукс. Может кто, поможет ... советом.

91. Владимир (hogik) 417 30.01.09 20:46 Сейчас в теме
(90)(kerya33)
То, что при работе с журналами и списками скорость будет выше, чем при использовании "selta" - понятно и без загрузки базы данных ;-) Странно, что разработчики этой "selta" не сообразили это до начала реализации своей разработки. А всё остальное как быстро работает?
Про CodeBase под Linux информация от Sequiter Inc: "CodeBase for Linux has client/server support. However, client/server support does not work across different operating systems, such as between Windows and Linux."
92. Олег (kerya33) 30.01.09 21:22 Сейчас в теме
"А всё остальное как быстро работает?"
Пока только с платформами разными тыркался, как остановлюсь на чем то - буду тестировать конкретно. Вообще думал насчет терминального доступа, поэтому и хотел пробовать Codebase под ПДБД.
"However, client/server support does not work across different operating systems,"
Читал я это, но думал может под wine, что и получится. Если нет - попробую ADS под linux, терминал сервер под виндой, терминальные клиенты сейчас в основном тоже linux и дальше буду всех перетаскивать с винды. Если все пойдет нормально (тьфу-тьфу), буду пробовать в работе. В основном конечно волнует устойчивость, потому как переиндексация такой базы по любому займет не мало времени. Сейчас-то под ms 2003, SQL 2000 и виндовым терминал сервером проблем с базой не возникает ...
93. Олег (kerya33) 31.01.09 15:01 Сейчас в теме
(91)(hogik)
В разделе "Тестирование и исправление информационной базы" - "Проверка физической целостности" конфигуратора при работе с ADS возникает ошибка DBEng32 #023 (Invalid path for 1CV7.DD). Так и должно быть ?
Имеет ли смысл пункт "Упаковка таблиц информационной базы" при работе с ADS ?
94. Владимир (hogik) 417 31.01.09 16:19 Сейчас в теме
(93)(kerya33)
"Проверка физической целостности" конфигуратора при работе с ADS возникает ошибка DBEng32 #023 (Invalid path for 1CV7.DD)."
DBEng32.doc->РазделЭксплуатация->ПунктНомер3
"Имеет ли смысл пункт "Упаковка таблиц информационной базы" при работе с ADS ?"
Не имеет смысла, и не выполняется если включено.
"остановлюсь на чем то - буду тестировать конкретно."
А какое время загрузки базы? А в сравнении с SQLной версией 1Са?
95. Сhe Burashka (CheBurator) 31.01.09 16:49 Сейчас в теме
пишите еще! все офигенно интересно!
96. Олег (kerya33) 01.02.09 00:50 Сейчас в теме
(94)(hogik)
"DBEng32.doc->РазделЭксплуатация->ПунктНомер3"
Извиняюсь за невнимательность, совсем голова уже опухла ...
"А какое время загрузки базы? А в сравнении с SQLной версией 1Са?"
Из 1С загрузку и выгрузку на SQL версии я не делал, просто подключал копию рабочей SQL-ной базы на машину, где начал тестирование. Загружал SQL БД только через selta под wine примерно 20 часов. Выгруженый файл romix.dat из SQL БД ~ 2,5Гб грузился в ADS под DBF-ной 1С не помню сколько, но гораздо быстрее, чем selta в postgres. Единственное, чего не стал дожидаться для тестов, это перерасчета итогов (которые как я понимаю делаются во время загрузки). В SQL ной конфигурации были задействованы "быстрые итоги", я с этим пока не разбирался.
Некоторые итоги тестирования: (не связанные с расчетом итогов)
Формирование реестра документов:
ms SQL на локальной машине -10 мин
ADS под win на этой же машине - 9 мин 45 сек ;)
ADS под Linux в локалке - 12 мин
Но на машине с Linux в 6 раз меньше памяти, да и помедленней она. Несколько (~ на 10%) снижается нагрузка на процесс 1С.exe в винде при работе с удаленным ADS. Радует что DBF версия 1С при работе с ADS на удаленной машине загружает 100 Мбит сеть на ~ на 4% (для чистоты эксперимента сетка домашняя, в ней жили только эти две машины), adsd демон под линем (собственно сам ADS сервер) во время работы отъедает 40 - 50 % процессорных ресурсов, посмотрим, что будет на нескольких запущеных задачах по сравнению с ms SQL.
97. Олег (kerya33) 01.02.09 00:58 Сейчас в теме
Да, забыл, на Linux крутится ADS 7.1 на win - 8.1, но думаю это не принципиально.
98. Владимир (hogik) 417 01.02.09 01:49 Сейчас в теме
(96)(kerya33)
"Единственное, чего не стал дожидаться для тестов, это перерасчета итогов"
На моих тестах пересчет итогов занимает бОльшую часть времени загрузки. Но я приспособился это делать через "DBEng32 для CodeBase 6.5". Сначала делаю загрузку в базу данных CodeBase в режиме ПДБД (работает быстро), затем конвертирую базу в родные DBFы, а потом конвертирую в базу Advantage. Единственно, что не проверял - как себя поведут конверторы при размере родных DBFов больше 2 гигабайт. Формально, должно работать...
(97)(kerya33)
"на Linux крутится ADS 7.1 на win - 8.1, но думаю это не принципиально"
По скорости и надежности ничего не скажу, т.к. 7.1 не пробовал. Но совместимость моих DLL и EXE есть. Достаточно в BIN каталог 1Са положить ace32.dll и axcws32.dll из версии 7.1. Похоже, что и для версии 9.х не требуется повторная компиляция моих библиотек. В этой части они молодцы, в отличии от Sequiter, где приходится, при переходе с версию на версию, компилировать всё заново.
99. Олег (kerya33) 01.02.09 02:28 Сейчас в теме
(98)(hogik)
"На моих тестах пересчет итогов занимает бОльшую часть времени загрузки."
Это я уже понял, когда после 100% загрузки romix.dat база шуршала еще энное количество времени и мне пришлось прервать процесс.
"затем конвертирую базу в родные DBFы", "как себя поведут конверторы при размере родных DBFов больше 2 гигабайт"
Чет, вот здесь я туплю. Конверторы может и отработают, а вот как родные DBF размером больше 2Гб можно получить? На начальном этапе (до Вашего совета по выгрузке через romix.dat) пользовал "Data Export 2007 for SQL server", там база реально только в csv выгрузилась, в DBF тоже выгрузилась, вот только большие таблицы все стали ровно 2Гб, что уж там внутри я смотреть не стал ;) Если можно поподробнее про DBF>2Гб, как раз хотел базу приводить к нормальному виду (с перерасчетом итогов).
"Достаточно в BIN каталог 1Са положить ace32.dll и axcws32.dll из версии 7.1"
А без этой манипуляции с ADS 7.1 под линуксом ничего жить и не хотело.
"Похоже, что и для версии 9.х не требуется повторная компиляция моих библиотек"
Ага, работает с библиотеками от 9.1, вот только триал коды с ОФ сайта на 9.1 под Linux они заявляют на 30 дней тестирования, а Data Architect мне показала Evolution Date 10 дневным сроком. Я не стал заморачиваться и поставил под линь ADS 7.1

Оставьте свое сообщение