gifts2017

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 279
.ZIP 1,84Mb
07.03.11
279
.ZIP 1,84Mb Бесплатно
AddInExt_1008.zip 54
.zip 14,64Kb
02.01.12
54
.zip 14,64Kb Бесплатно
BIN_ADS_6040.ZIP 182
.ZIP 1,84Mb
02.01.12
182
.ZIP 1,84Mb Бесплатно
BIN_ADS_6038.ZIP 59
.ZIP 1,83Mb
02.01.12
59
.ZIP 1,83Mb Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Доржи Цыденов (support) 28.10.07 09:21
Основное различие шестой и пятой версии?
2. Владимир (hogik) 28.10.07 17:40
(support) (1)
“Основное различие шестой и пятой версии?”
Выделено жирным шрифтом в “Краткое описание”.
3. Доржи Цыденов (support) 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) 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) 02.11.07 17:46
(miandrew)(8)
"Чего то как то не сильно заметен прирост"
По сравнению с чем? В какой тестовой платформе (сеть, локально, количество пользователей и т.д.)? Если не трудно – поподробней.
10. Владимир (hogik) 06.11.07 15:42
Судя по рейтингу – “кривые запросы” для SQL делать не надо. Это радует…
11. angro (angro) 07.11.07 09:24
много людей считает, что если разработка не продаётся следовательно автор не надёжен и в любой момент бросит.
12. miandrew (miandrew) 07.11.07 13:06
или просто не рискуют данными базы....
13. Владимир (hogik) 07.11.07 18:01
(angro)
“много людей считает, что если разработка не продаётся следовательно автор не надёжен и в любой момент бросит”
Хорошо, что есть и другие люди. ;)
(miandrew)
“или просто не рискуют данными базы....”
Да. Такие разработки надо хорошо проверять, перед тем как решиться на их использование. Как и любые СУБД. Пример тому ошибка в сервере CodeBase (транзакции при включенной оптимизации). А они продают его больше десяти лет. Продукт – платный. :)
14. Belomor (Belomor) 07.11.07 19:12
to (hogik) Спасибо большое!
А вот с 1С++ было бы все-таки подружить неплохо :)

to (all)
Очень приятно удивил объем инсталлятора ADS и возможности
Про ADS обзорная информация http://www.hotsoft.ru/ADS/index.htm
15. Владимир (hogik) 07.11.07 22:19
(Belomor)
“А вот с 1С++ было бы все-таки подружить неплохо”
Если речь идет о прямых запросах, то сделать больше чем в операциях 51-59 РУСа, не удастся. Разработчики ADS сделали типичную ошибку – “навигационный доступ” к данным для свободных (в терминологии словаря данных) таблиц и SQL несовместимы, если использовать ADT/ADI формат таблиц.
16. Belomor (Belomor) 08.11.07 00:29
(hogik) Ну нет - так нет :) У меня сейчас загружается в ночь одна ядреная базуля, завтра посмотрю на ее быстродействие. Хотя по ощущениям, загрузка идет медленнее, чем родная от 1с. И еще вопрос - обратный переход к родному DBF возможен или пока не реализовывался?
17. Владимир (hogik) 08.11.07 00:53
(Belomor)
“по ощущениям, загрузка идет медленнее”
Вы, надо полагать, делаете загрузку на той же машине, где лежит база данных (т.е. не по сети). В таком режиме “родные” DBFы будут работать всегда быстрее. Сравнивать производительность надо при работе в сети.
“обратный переход к родному DBF возможен”
Той же выгрузкой-загрузкой. Обратный конвертор писать не планирую.
18. Сhe Burashka (CheBurator) 08.11.07 00:53
Поясните тупому - аналогичная для CodeBase и эта разработка - они как соотносятся? и почему появилась эта? та, что на CodeBase - ее какая судьба будет?
.. и просто интересно: у автора есть статистика работы с "его" серверами с 1С - т.е. сколько народа использует ЭТО в посведневной работе 1С?
19. Belomor (Belomor) 08.11.07 01:30
(hogik) "Той же выгрузкой-загрузкой" Этого более чем достаточно
"делаете загрузку на той же машине" Так точно. А как работа в пользовательском варианте на той же машине? Тоже чудес ждать не стоит?
20. Владимир (hogik) 08.11.07 01:47
(Сhe Burashka)
>> “Поясните тупому”
Шутка, да?
>> “аналогичная для CodeBase и эта разработка - они как соотносятся?”
Делают разработки одно и тоже, но на разных СУБДах.
>> “и почему появилась эта?”
Мне известны всего две СУБД, на которых можно сделать данную разработку. Об ADS я узнал чуть позже, чем о CodeBase – когда разработка на CodeBase уже была опубликована. Но, на мой взгляд, ADS “мощней”, чем CodeBase. Вот и сделал на ADSе. Замечу, что, похоже, разработчики ADSа не знали о существовании CodeBase. Т.к. на сайте, продающем эту СУБД сказано, что она единственная позволяющая организовать клиент/серверную технологию для xBase систем.
>> “та, что на CodeBase - ее какая судьба будет?”
Она живет своей жизнью. Будут ошибки – исправлю.
>> “у автора есть статистика работы с "его" серверами с 1С - т.е. сколько народа использует ЭТО в посведневной работе 1С?”
За народ ничего не скажу. А у нас она работает уже год. Сервер перезапускался только из-за потери электропитания и ошибок администратора БД. Раза два-три… Пару раз переиндексировали базу данных – не по причине заваливания сервера. Недостаток заметили один. На сервере со слабой подсистемой ввода/вывода возникают значительные задержки в интерактивных задачах, если запускается одновременно серьёзный отчет. Я попытался “направить” разработчиков CodeBase на решения этого вопроса – не получилось. Это тоже послужило причиной появления разработки на ADS.
21. Владимир (hogik) 08.11.07 02:01
(Belomor)
"А как работа в пользовательском варианте на той же машине? Тоже чудес ждать не стоит?"
Если с сервером БД будут работать другие пользователи по сети, то лучше так не работать. А для регламентных работ так и надо работать. Скорость зависит от задач и самого железа. У меня документы проводятся раза в два быстрее (чем “родные” DBFы), а отчеты – наоборот. Сильно влияет системное кэширование. Повторный запуск отчета выполняется раз в пять быстрее первого запуска. Но, повторюсь, не для этого делался клиент/сервер – в сети, при большом количестве пользователей надо сравнивать.
22. Belomor (Belomor) 08.11.07 12:53
23. Сhe Burashka (CheBurator) 08.11.07 13:08
(20) Спасибо за разъяснения. А как-нибудь вечерком по асе можно пообщаться?
24. Владимир (hogik) 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) 20.11.07 23:21
Да уж, цены кусаются за сервер, не дешевле ли купить win2003 и поднять на ней терминал?
28. Владимир (hogik) 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) 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) 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) 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) 03.03.08 08:34
Вопрос к разработчику: Есть или нет DBEng32.dll для версии сервера 7.1?
37. Владимир (hogik) 03.03.08 17:59
(36) "Есть или нет DBEng32.dll для версии сервера 7.1?"
Нет.
38. logdog (logdog) 03.03.08 19:45
смотрю выходит Advantage 9.0. ... данная разработка думаю без проблем будет работать и на базе этого сервера?
39. Владимир (hogik) 03.03.08 21:19
(38) “…выходит Advantage 9.0. ...будет работать и на базе этого сервера?”
Пока только - Beta. Я её еще не пробовал. Нововведений для наших задач там нет.
40. @lex alexeew (@lex) 04.03.08 05:57
(37)

Тогда еще один вопрос - а возможно ли? Или чего-то для работы 1С не хватает в 7.1? Есть желание поставить на Linux, для него есть кряк (7.1), 8.1 только триал
41. Владимир (hogik) 04.03.08 17:45
(40)
Запуск под Linux интересная и полезная задача. Но рекомендую сначала попробовать в версии 8.1. И если заработает, то дальше решим, что делать с версиями ADSа.
42. @lex alexeew (@lex) 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) 05.03.08 03:02
(42)
Думаю, надо начать с запуска на клиенте под Windows утилиты “Advantage Data Architect 8.1” и попробовать соединиться с сервером, запущенным под Linux. В меню выбрать Tools->RemoteServerInfo, а там ввести значение в поле ServerDrive и нажать кнопку Connect.
44. @lex alexeew (@lex) 05.03.08 08:14
(40)
с версией 8.1...
...нужно было поставить adsodbc на сервер с Linux, коннект есть, остались разрешения для файлов, получаю ошибку 7040 "File creation error" будем разбираться с разрешениями в Linux
45. Владимир (hogik) 05.03.08 17:54
(44)
В моей разработке ODBC не используется. Чтобы запустить разработку с сервером ADS под Linux надо обеспечить одновременный доступ к файлам базы данных для приложения, работающего в Linux (сервер ADS), и приложения, работающего в Windows (клиент 1С+DBEng32). Это в Linux возможно?
46. @lex alexeew (@lex) 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) 06.03.08 08:59
(46)
Все, с одним пользователем работает :), но тормоза жуткие, надо настраивать ADS сервер
48. @lex alexeew (@lex) 06.03.08 09:47
Прошу прощения за флуд, но два Windows клиента с работают на ура :). Осталось победить долгую загрузку структуры данных и потестить на большем количестве пользователей
49. Владимир (hogik) 06.03.08 16:54
(46-47) Молодец. Спасибо.
Долгая загрузка структуры данных в монопольном режиме? При первом входе в 1Су? А как вообще производительность? И по сравнению, с каким использованием 1Са?
50. @lex alexeew (@lex) 07.03.08 02:38
(49)
Долгая загрузка структуры данных программы при любом входе, я думаю, это чисто сетевая проблема. Производительность как на локальной базе практически. Но есть еще одна проблема, пока не знаю из-за чего... Еще трех клиентов не удается подключить, ошибка 6420, пока непонятно, боремся :)...
51. Владимир (hogik) 07.03.08 02:54
(50)
Ошибка 6420, думаю, из-за ограничения на пять пользователей для демо-версии. Долгая загрузка, именно, структуры данных или долго открываются файлы? Спрашиваю об этом потому, что у меня были сложности и при использовании Windows версии. Но в этом направлении мне можно работать дальше. Очень радует, что производительность близка к режиму работы локальной базы. Может мне пора заняться версией 7.1, а Вам (если есть желание) написать маленькую инструкцию по установке системы на Linux для публикации на данном сайте? Я посмотрел описание версии 7.1. На первый взгляд проблем не будет. Но отлаживать работу с самим сервером придётся на Вашей территории.
52. @lex alexeew (@lex) 11.03.08 02:33
(51)
Инструкцию написать несложно, вот только разберемся с ошибкой, т.к. пока удалось запустить только двух пользователей. Как запустим 5, тогда можно будет говорить об успешной установке и настройке.
53. Владимир (hogik) 11.03.08 03:10
Странно это. Такое впечатление, что ОНО считает один вход за два. А что показывает “Advantage Configuration Utility”?
54. @lex alexeew (@lex) 11.03.08 05:42
(51)
Все, пофиксили, ADS.INI поправили и положили в каталог bin, все заработало
55. @lex alexeew (@lex) 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. РАБОТАЕТ!!! :)
57. Владимир (hogik) 12.03.08 00:30
Добавлена сборка для Advantage 7.1.
58. shoorlo yak (shoorlo) 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) 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) 07.07.08 12:49
Спасибо за полный ответ.
61. Евгений Долиновский (Dolly_EV) 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) 23.12.08 11:37
Почему то долго документы делаются не проведенными (ок. 10000 строк проводок)- до 20-30 мин., а проводятся относительно быстро - 5-10 мин.

Платформа 025, Бухгалтерия рел. 493, DBEng32 (Сборка версии 6.0.1.4)
63. Владимир (hogik) 23.12.08 17:15
(62)(Albert)
А с родными DBFами, в аналогичных условиях запуска сессии 1С, сколько минут выполняются эти действия?
64. Albert A (albert) 23.12.08 18:00
(63) С родными DBF: сделать не проведенным 6 мин., провести 10 мин.
У документа 17 тыс. проводок.
65. Сhe Burashka (CheBurator) 23.12.08 18:19
(61) > т.к. на периферийках размер злосчатсной таблицы проводок
а имеет ли смысл в центре иметь детальную до гвоздя проводку???
66. Владимир (hogik) 23.12.08 19:32
(64)(Albert)
Возможно влияет кэширование на стороне сервера. Меняется время, если выполнить депроведение после проведения? В каком режиме проводится замер - монопольно, локально и т.д.? Используется операция #61 из РУСа?
67. Евгений Долиновский (Dolly_EV) 24.12.08 06:28
(65) наверное имелось ввиду "в периферийке" а не "в центре"?
смысла конечно не имеет, только так уж исторически сложилось (и это необходимо), что миграция по основным документам "все - везде"
68. Albert A (albert) 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) 24.12.08 21:11
(68)(Albert)
Если у Вас есть возможность, поставьте в глобальном модуле вызов: EXT._(61,"",1), загрузив внешнюю компоненту AddInExt. Интересно, изменится ли время депроведения документа?
70. Владимир (hogik) 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) 25.12.08 09:48
(69) Время депроведения не меняется :(
Буду пробовать CodeBase...
72. Albert A (albert) 25.12.08 18:09
(70) А из формата Advantage в CodeBase есть конвертер?
73. Владимир (hogik) 26.12.08 00:46
74. AL2004 (AL2004) 08.01.09 22:25
(hogik) Очень интересная разработка.
Существует ли возможность разнести файлы конфигурации (*md) и файлы базы (dbf) в разные каталоги для работы пользователей, т.е. закрыть для пользователя файлы БД? Если я правильно понял, это возможно для CodeBase.
75. Владимир (hogik) 08.01.09 23:24
(74)(AL2004)
Для Advantage - нельзя. Для CodeBase - не рекомендуется, т.к. не будет работать реорганизация БД, тестирование и исправление ИБД, реиндексация и т.д.
76. AL2004 (AL2004) 09.01.09 02:29
(hogik)
Спасибо за ответ. Для проекта желательно разнести конфигурацию и базу данных, модификация и переиндексация базы будет осуществляться локально на сервере. Что посоветуете?
Ранее была Ваша информация о соотношении производительности ADS/CodeBase как 5/1 на операциях чтения.
Информация на текущих релизах актуальна?
77. Владимир (hogik) 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) 10.01.09 17:08
(78)(kerya33)
"Или можно как-то по другому ?"
Можно использовать штатные средства конфигуратора выгрузить/загрузить данные. Для больших баз данных - http://infostart.ru/projects/1512/
80. Александр Маляев (maljaev) 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) 28.01.09 11:57
(80) а что за патч такой для включения кэширования? Где почитать/попробывать?
82. Епрст (Ёпрст) 28.01.09 12:03
(81) http://www.kb.mista.ru/article.php?id=136
читай в конце страницы...
искать в закромах саму библиотеку-лень..где-то валялась :)
83. Епрст (Ёпрст) 28.01.09 12:05
(80) гонял аналогично, забил на адвантадж.. Он подойдет только, если исключить Терминал из цепочки, как альтернатива скулю...
Имхо.
84. Евгений Мартыненков (JohnyDeath) 28.01.09 12:43
(82) а включение кэширование записи в свойствах самого винта - это не то?
85. Епрст (Ёпрст) 28.01.09 12:44
86. Владимир (hogik) 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) 28.01.09 19:39
(81)(JohnyDeath)
Не рекомендую использовать этот "патч...для включения кэширования".
88. Александр Маляев (maljaev) 28.01.09 23:37
(87) Да уж год как с этим патчем и сам, и клиенты в терминалке работают - полет нормальный, никаких нареканий. На одной из баз (где документ при проведении создает еще несколько подчененных) скорость проведения этого документа при использовании патча возрастает где-то в 10 раз по сравнению с типовым, почему так сильно и сам незнаю. Но патч можно юзать либо на локальной базе, либо в терминалке. В сетевом доступе - ни в коем разе!
P.S. А с CodeBase поколдую на досуге...
89. Владимир (hogik) 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) 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) 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) 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

Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа