Btrieve и clarion

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
morkovin
Ветеран
Сообщения: 610
Зарегистрирован: 20 Июль 2005, 13:53
Откуда: Volgograd, Russia
Контактная информация:

Btrieve и clarion

Сообщение morkovin » 29 Январь 2019, 9:31

Игорь Столяров писал(а):
29 Январь 2019, 8:18
Btrieve безальтернативе
Для Btrieve есть аналоги утилит TopScan, TpsFix? Я просто не в курсе...
WBR, morkovin

Аватара пользователя
morkovin
Ветеран
Сообщения: 610
Зарегистрирован: 20 Июль 2005, 13:53
Откуда: Volgograd, Russia
Контактная информация:

Btrieve и clarion

Сообщение morkovin » 29 Январь 2019, 9:37

morkovin писал(а):
29 Январь 2019, 9:31
Btrieve безальтернативе
В догонку.
Есть ли для него ODBC-драйвер? Мне для TPS приходилось использовать TPS ODBC для импорта(выгрузки) данных в проги третьих лиц. Лень было делать для них импорт-экспорт :oops:
WBR, morkovin

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4004
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Btrieve и clarion

Сообщение Игорь Столяров » 29 Январь 2019, 9:48

morkovin писал(а):
29 Январь 2019, 9:31
Для Btrieve есть аналоги утилит TopScan, TpsFix? Я просто не в курсе...
Всё есть, но для Btrieve (точнее данных MKD) немного другой подход …

- Аналога TopScan нет, т.к. MKD файл, в отличии от TPS, не содержит в себе описание структуры данных.
Но если создать описание структуры таблиц (это отдельный DDF файл), то можно из Pervasive Control Centre
делать любой SELECT (и вообще любую команду TSQL) с произвольной выборкой из MKD таблиц.

- Как уже упоминалось - MKD один из самых надёжных форматов в мире. Но всё бывает ...
Для работы с ключами (восстановление, переиндексация, упаковка) есть утилита REBUILD.
Для восстановления данных есть утилита командной строки BUTIL, которая позволяет в т.ч. выполнять перезагрузку таблиц
через текст. Это очень мощное средство, не сравнимое с TPSFIX.
Я вытаскивал при разрушении HDD вообще мёртвые данные по секторам HDD, склеивал и загружал обратно в MKD ...
«V» значит Вендетта !

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4004
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Btrieve и clarion

Сообщение Игорь Столяров » 29 Январь 2019, 9:57

morkovin писал(а):
29 Январь 2019, 9:37
Есть ли для него ODBC-драйвер?
Да, конечно - см. рисунок.
Хотя для обмена данными лучше использовать открытые форматы XML или JSON, но это уже совсем другая история … ;)

1.jpg
«V» значит Вендетта !

kreator
Ветеран
Сообщения: 3249
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Btrieve и clarion

Сообщение kreator » 29 Январь 2019, 11:33

RaFaeL писал(а):
28 Январь 2019, 23:18
kreator писал(а): ↑
28 Январь 2019, 23:04
Нужно только политику загрузки броуза сменить с Page на File. Очень рекомендуется.

Ни к чему, просто нужно сделать все ключи, по которым строится броуз, уникальными, а постраничную загрузку отключать не надо
При постраничной загрузке броуз дёргается и ползунок прокрутки себя ведёт неправильно. И плюс происходит постоянное дёргание сервака, что не есть хорошо.
Игорь Столяров писал(а):
29 Январь 2019, 8:18
Где-то здесь уже можно подводить промежуточный итог дебатов … Если нет возражений - то я это сделаю.
Я возражаю.
1. Что ломается, если просто поменять драйвер в словаре на ODBC? Типы полей могут не совпасть? Всё?
2. Нужно только дать инструкцию пользователю по установке SQL-сервера. Можно, наверно, эту установку сделать в рамках своей коробки. Настраивать ODBC, как правило, не надо. Для FB не надо. Для SA не надо. С MS, вообще, всё шоколадно, клиент не требуется (знатоки поправят). Вот может быть Оракул требует клиента. А P.SQL ставить не надо?
3. Это, вообще, неправда. SQL загонит всю базу в оперативку и будет ощущение, что работаете с очередями, медленный диск задействован не будет.
We are hard at work… for you. :)

Аватара пользователя
finsoftrz
Ветеран
Сообщения: 1182
Зарегистрирован: 06 Ноябрь 2014, 12:48

Btrieve и clarion

Сообщение finsoftrz » 29 Январь 2019, 11:39

Игорь, насчет того, что btrieve быстрее tps при локальной работе, я бы не был так категоричен. Когда-то проводил тест. Случайным образом выбирались идентификаторы записей в заданном диапазоне целых чисел и выполнялось чтение по первичному ключу. Сравнивались tps, postgreSQL и pervasiveSQL 8 (транзакционный интерфейс). На первом месте в тестах был tps, на втором postgreSQL, на третьем pervasiveSQL. Причем разница между tps и postgreSQL была существенно меньше, чем разница между postgreSQL и pervasive.
Рязань решает.

Аватара пользователя
finsoftrz
Ветеран
Сообщения: 1182
Зарегистрирован: 06 Ноябрь 2014, 12:48

Btrieve и clarion

Сообщение finsoftrz » 29 Январь 2019, 11:47

kreator писал(а):
29 Январь 2019, 11:33
Я возражаю.
1. Что ломается, если просто поменять драйвер в словаре на ODBC? Типы полей могут не совпасть? Всё?
Там меняется вообще все. Вся идеология. Есть на эту тему хорошая статья где-то на просторах интернета. Там все разжевано для неофитов. Разрабатывать клиент-серверные приложения, работающие с sql серверами, сложно. Пока база небольшая или логика приложения примитивна, то современные мощные компьютеры и различные утилиты с графическим интерфейсом сглаживают картину. Когда приложение становится более менее серьезным и объемным, все вопросы по работе с sql возникают в полный рост, они никуда не делись. И для их разрешения требуется немалый опыт и квалификация. Как-то так. Ссылку искать лень.
Рязань решает.

kreator
Ветеран
Сообщения: 3249
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Btrieve и clarion

Сообщение kreator » 29 Январь 2019, 11:50

Игорь Столяров писал(а):
29 Январь 2019, 8:18
При этом, безусловно, у SQL - масса преимуществ, которых нет в ISAM драйверах БД. Это понятно и бесспорно.
Вы рассказываете о куче проблем с SQL, что даже непонятно, стоит ли говорить преимуществах. Какая тут масса преимуществ при таком раскладе?
We are hard at work… for you. :)

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 857
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

Btrieve и clarion

Сообщение RaFaeL » 29 Январь 2019, 12:12

kreator писал(а):
29 Январь 2019, 11:33
При постраничной загрузке броуз дёргается и ползунок прокрутки себя ведёт неправильно. И плюс происходит постоянное дёргание сервака, что не есть хорошо.
Как вы себе представляете пофайловую загрузку например справочника контрагентов на 5 тыс позиций? Или товаров на 10 тыс? Я уж молчу о журналах первички... лет так за 10

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4004
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Btrieve и clarion

Сообщение Игорь Столяров » 29 Январь 2019, 12:26

kreator писал(а):
29 Январь 2019, 11:50
Вы рассказываете о куче проблем с SQL, что даже непонятно, стоит ли говорить преимуществах.
Ничего подобного ! Вы просто не в теме обсуждения.
Мы говорим о том, что драйвер Btrieve для Clarion - единственное простое решение для быстрого перевода приложения с TPS.

Нет никакой надуманной кучи проблем с SQL. Перевод приложения в Clarion на SQL требует переработки структуры
данных (указанные Вами уникальные ключи, перенос связей на строну сервера и т.д.) и такое приложение уже
требует квалифицированного развёртывания, не получится здесь как с TPS или MKD "установил и работай", даже с картинками.
«V» значит Вендетта !

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 857
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

Btrieve и clarion

Сообщение RaFaeL » 29 Январь 2019, 12:35

Но это ведь делается один раз, при этом с уникальными ключами TPS приложение работать то не перестает, ему все равно. А без картинок сейчас и tps не работает, ставите его в Program Files вместе с базой и все, под пользователем без прав база уже не откроется

Аватара пользователя
finsoftrz
Ветеран
Сообщения: 1182
Зарегистрирован: 06 Ноябрь 2014, 12:48

Btrieve и clarion

Сообщение finsoftrz » 29 Январь 2019, 12:51

RaFaeL писал(а):
29 Январь 2019, 12:12
kreator писал(а):
29 Январь 2019, 11:33
При постраничной загрузке броуз дёргается и ползунок прокрутки себя ведёт неправильно. И плюс происходит постоянное дёргание сервака, что не есть хорошо.
Как вы себе представляете пофайловую загрузку например справочника контрагентов на 5 тыс позиций? Или товаров на 10 тыс? Я уж молчу о журналах первички... лет так за 10
Ну, в этом случае, прежде чем вывести записи, предлагается ввести ограничения. Когда ввели, тогда дергают всю получающуюся выборку. Начинать сразу с вывода броуза - это только для маленьких табличек. Хорошо это или не очень, разные мнения. Подробно обсуждалось в clalist лет цать назад...
Рязань решает.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4004
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Btrieve и clarion

Сообщение Игорь Столяров » 29 Январь 2019, 13:34

RaFaeL писал(а):
29 Январь 2019, 12:35
с уникальными ключами TPS приложение работать то не перестает
Полностью согласен. Не перестанет, но и не ускорится от этого. Кстати, вспомнил ещё одну беду с переходом на SQL.
Нужно будет прошерстить все списки и задать External Name для полей с служебными словами, вроде DATE, SELECT, NAME и т.д.
А для Btrieve - не надо.
RaFaeL писал(а):
29 Январь 2019, 12:35
ставите его в Program Files вместе с базой и все
Это известная беда, и кстати не факт, что без наличия прав вообще можно будет установить что-либо.
Но это решается в инсталляционном пакете, проверяем папку установки, выдаем предупреждение и т.д.
Сейчас все прикладные программы по умолчанию предлагают установку в корневую папку диска сы ...
«V» значит Вендетта !

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 857
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

Btrieve и clarion

Сообщение RaFaeL » 29 Январь 2019, 13:36

finsoftrz писал(а):
29 Январь 2019, 12:51
Ну, в этом случае, прежде чем вывести записи, предлагается ввести ограничения.
Это неудобно пользователям
Начинать сразу с вывода броуза - это только для маленьких табличек.
Постраничная загрузка и никаких проблем. Ну, то что бегунок не отражает позицию, за проблему не считаю

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 857
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

Btrieve и clarion

Сообщение RaFaeL » 29 Январь 2019, 13:42

Игорь Столяров писал(а):
29 Январь 2019, 13:34
Кстати, вспомнил ещё одну беду с переходом на SQL.
Нужно будет прошерстить все списки и задать External Name для полей с служебными словами, вроде DATE, SELECT, NAME и т.д.
Для NAME точно не надо. Когда переходили, на всю нашу базу с двумя сотнями таблиц вроде как одно поле какое-то пришлось переименовать, точно не помню какое, так что это видимо частный случай
Вспомнил другой - пришлось задавать external name для ключей, нужно уникальное имя (добавляли имя таблицы в имя ключей). Но это опять же делается один раз и на исходную базу никак не влияет

Ответить