Btrieve и clarion

Clarion, Clarion 7

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

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

Btrieve и clarion

Сообщение morkovin »

Игорь Столяров писал(а): 29 Январь 2019, 8:18Btrieve безальтернативе
Для Btrieve есть аналоги утилит TopScan, TpsFix? Я просто не в курсе...
WBR, morkovin
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Btrieve и clarion

Сообщение morkovin »

morkovin писал(а): 29 Январь 2019, 9:31Btrieve безальтернативе
В догонку.
Есть ли для него ODBC-драйвер? Мне для TPS приходилось использовать TPS ODBC для импорта(выгрузки) данных в проги третьих лиц. Лень было делать для них импорт-экспорт :oops:
WBR, morkovin
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7324
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Btrieve и clarion

Сообщение Игорь Столяров »

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 ...
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7324
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Btrieve и clarion

Сообщение Игорь Столяров »

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

1.jpg
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Btrieve и clarion

Сообщение kreator »

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
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Btrieve и clarion

Сообщение finsoftrz »

Игорь, насчет того, что btrieve быстрее tps при локальной работе, я бы не был так категоричен. Когда-то проводил тест. Случайным образом выбирались идентификаторы записей в заданном диапазоне целых чисел и выполнялось чтение по первичному ключу. Сравнивались tps, postgreSQL и pervasiveSQL 8 (транзакционный интерфейс). На первом месте в тестах был tps, на втором postgreSQL, на третьем pervasiveSQL. Причем разница между tps и postgreSQL была существенно меньше, чем разница между postgreSQL и pervasive.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Btrieve и clarion

Сообщение finsoftrz »

kreator писал(а): 29 Январь 2019, 11:33 Я возражаю.
1. Что ломается, если просто поменять драйвер в словаре на ODBC? Типы полей могут не совпасть? Всё?
Там меняется вообще все. Вся идеология. Есть на эту тему хорошая статья где-то на просторах интернета. Там все разжевано для неофитов. Разрабатывать клиент-серверные приложения, работающие с sql серверами, сложно. Пока база небольшая или логика приложения примитивна, то современные мощные компьютеры и различные утилиты с графическим интерфейсом сглаживают картину. Когда приложение становится более менее серьезным и объемным, все вопросы по работе с sql возникают в полный рост, они никуда не делись. И для их разрешения требуется немалый опыт и квалификация. Как-то так. Ссылку искать лень.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Btrieve и clarion

Сообщение kreator »

Игорь Столяров писал(а): 29 Январь 2019, 8:18При этом, безусловно, у SQL - масса преимуществ, которых нет в ISAM драйверах БД. Это понятно и бесспорно.
Вы рассказываете о куче проблем с SQL, что даже непонятно, стоит ли говорить преимуществах. Какая тут масса преимуществ при таком раскладе?
We are hard at work… for you. :)
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Btrieve и clarion

Сообщение RaFaeL »

kreator писал(а): 29 Январь 2019, 11:33При постраничной загрузке броуз дёргается и ползунок прокрутки себя ведёт неправильно. И плюс происходит постоянное дёргание сервака, что не есть хорошо.
Как вы себе представляете пофайловую загрузку например справочника контрагентов на 5 тыс позиций? Или товаров на 10 тыс? Я уж молчу о журналах первички... лет так за 10
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7324
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Btrieve и clarion

Сообщение Игорь Столяров »

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

Нет никакой надуманной кучи проблем с SQL. Перевод приложения в Clarion на SQL требует переработки структуры
данных (указанные Вами уникальные ключи, перенос связей на строну сервера и т.д.) и такое приложение уже
требует квалифицированного развёртывания, не получится здесь как с TPS или MKD "установил и работай", даже с картинками.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Btrieve и clarion

Сообщение RaFaeL »

Но это ведь делается один раз, при этом с уникальными ключами TPS приложение работать то не перестает, ему все равно. А без картинок сейчас и tps не работает, ставите его в Program Files вместе с базой и все, под пользователем без прав база уже не откроется
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Btrieve и clarion

Сообщение finsoftrz »

RaFaeL писал(а): 29 Январь 2019, 12:12
kreator писал(а): 29 Январь 2019, 11:33При постраничной загрузке броуз дёргается и ползунок прокрутки себя ведёт неправильно. И плюс происходит постоянное дёргание сервака, что не есть хорошо.
Как вы себе представляете пофайловую загрузку например справочника контрагентов на 5 тыс позиций? Или товаров на 10 тыс? Я уж молчу о журналах первички... лет так за 10
Ну, в этом случае, прежде чем вывести записи, предлагается ввести ограничения. Когда ввели, тогда дергают всю получающуюся выборку. Начинать сразу с вывода броуза - это только для маленьких табличек. Хорошо это или не очень, разные мнения. Подробно обсуждалось в clalist лет цать назад...
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7324
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Btrieve и clarion

Сообщение Игорь Столяров »

RaFaeL писал(а): 29 Январь 2019, 12:35с уникальными ключами TPS приложение работать то не перестает
Полностью согласен. Не перестанет, но и не ускорится от этого. Кстати, вспомнил ещё одну беду с переходом на SQL.
Нужно будет прошерстить все списки и задать External Name для полей с служебными словами, вроде DATE, SELECT, NAME и т.д.
А для Btrieve - не надо.
RaFaeL писал(а): 29 Январь 2019, 12:35ставите его в Program Files вместе с базой и все
Это известная беда, и кстати не факт, что без наличия прав вообще можно будет установить что-либо.
Но это решается в инсталляционном пакете, проверяем папку установки, выдаем предупреждение и т.д.
Сейчас все прикладные программы по умолчанию предлагают установку в корневую папку диска сы ...
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Btrieve и clarion

Сообщение RaFaeL »

finsoftrz писал(а): 29 Январь 2019, 12:51Ну, в этом случае, прежде чем вывести записи, предлагается ввести ограничения.
Это неудобно пользователям
Начинать сразу с вывода броуза - это только для маленьких табличек.
Постраничная загрузка и никаких проблем. Ну, то что бегунок не отражает позицию, за проблему не считаю
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Btrieve и clarion

Сообщение RaFaeL »

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