Форум » LetoDB, HbNetio. » Leto DB Server » Ответить

Leto DB Server

Pasha: Добавил функцию: LETO_GROUPBY(cGroup, cFields, [cFilter], [xScopeTop], [xScopeBottom]) cGroup - имя поля, по которому группируются данные; cFields - список числовых полей через запятую, которые суммируются. Символ # обозначает к-во записей в группе Функция возвращает двумерный массив строк. 1-й элемент каждой строки - значение поля cGroup, следующие элементы суммы полей, заданных в cFields, или к-во записей в группе

Ответов - 232, стр: 1 2 3 4 5 6 7 8 9 10 11 12 All

Dima: Pasha пишет: Как в этом случае поступает Ads ? Почитай описание AX_CacheRecords() , может поможет чем. [pre2] AX_CacheRecords( [<nNumRecords>] ) -> числовое значение <nNumRecords> - количество записей, которое будет отправлено клиенту с опережением после выполнения операции Skip Возвращаемое значение Если в функцию не передано никаких параметров, то она возвращает те- кущее количество записей, предварительно отправляемых клиенту для те- кущей рабочей области. Если в функцию переданы параметры, то функция возвращает предыдущее значение количества записей, предварительно отправляемых клиенту для текущей рабочей области. Описание Advantage использует схему кэширования с предварительным чтением. Функция AX_CacheRecords() позволяет вам установить значение количест- ва записей, которые будут предварительно считаны и отправлены клиен- ту. Как только вы выполните операцию Skip после любой операции пере- мещения по таблице в вашем приложении, то не одна, а следующие nNum- Records записей будут считаны и отправлены на клиентскую машину. Это позволяет выполнить следующие nNumRecords - 1 операций Skip на ло- кальной машине. Т.о. запись к которой вы перемещались посредством операции Skip будет извлечены из памяти клиентской машины, а не счи- тана с сетевого сервера. Это позволяет достичь значительного увеличе- ния скорости выполнения операций Skip, особенно когда вы производите заполнение вашего browse-окна. Умалчиваемое количество записей, кото- рые будут предварительно считаны на клиентскую машину - меньшее из значений 10 и числа записей, которые могут уместиться в пакетах, пе- редаваемых за один сеанс связи Advantage Database Server и Advantage client (по умолчанию - 8 Кбайт). Замечание: Некоторые предварительно считанные к клиенту записи могут не отражать изменения, сделанные другими пользователями, для которых действительными являются записи, находящиеся в таблице на сервере. Чтобы сбросить записи кэшируемые в данный момент в памяти на клиент- ской машине и обновить текущую запись, используйте операцию "SKIP 0", которая принудительно сбросит кэшируемые на клиентской машине записи. Вызов функции AX_CacheRecords() со значениями 0 или 1 отключает кэши- рование записей. Максимальное количество записей, которые могут быть кэшированы у кли- ента - количество, соответствующее 64 Кбайтам данных. Т.к. каждая за- пись имеет 4 дополнительных (служебных) байта, то мы получим макси- мальное количество записей: nNumRecords = 65535 / ( размер записи + 4 ) Теоретически, оптимальное количество кэшируемых записей - количество записей, которое обычно появляется в browse-окнах вашего приложения. Например, если browse-окно вашего приложения содержит 20 записей, то вы должны рассматривать изменение значения кэшируемых записей т.о., чтобы все 20 записей могли быть прочтены за один запрос к серверу. Однако, если в вашем приложении часто выполняется всего одна операция Skip, то чтение каждый раз 20 записей и не использование их может уменьшить скорость работы вашего приложения. Лучше всего провести эксперимент, для определения оптимального количества кэшируемых запи- сей в вашем приложении (или функции). [/pre2]

Pasha: Судя по описанию, в Ads забота об актуальности буфера возлагается на клиента, и больше никаких действий с ним не предпринимается. Правда, проблем из-за этого я не замечал (когда работал с Ads). В letodb я добавил ограничение на использование буфера. Небольшой (не такой, как ожидалось) выигрыш в производительности наблюдается. Заодно еще кое-что немного оптимизировал.

Softlog86: Извините если не в ту ветку забрёл ... Подскажите где можно скачать готовый пакет LETODB (WINDOWS). Я пока хотел-бы изучить синтаксис команд и тд . Есть-ли описание функций на русском языке ? Буду очень признателен . Нужно переходить со старого доброго 5.3+ADS на Harbour+MiniGUI ну и LETO DB видимо ..... Пока тяжеловато получается ..... в основном из-за отсутствия примеров c описанием .


Andrey: Softlog86 пишет: Пока тяжеловато получается ..... в основном из-за отсутствия примеров c описанием . Harbour+MiniGUI - куча примеров. LETO DB - вообще для новичков сложен.... Нужно бы описание краткое ИДЕОЛОГИИ и ПРИМЕР для новичков. Но времени у наших гуру (как и у всех) не хватает ! Я бы тестером выступил в составление этого руководства....

Pasha: letodb - это сервер и клиентская библиотека. Готовый к употреблению сервер конечно можно собрать и выложить, а с клиенткой библиотекой - много их прийдется собирать, для разных версий харбора, с иксом или без, и для разных C компиляторов. Так что лучше сделайте это сами, тем более это рутинная тривиальная операция. А раз клиента соберете, то нет никакой проблемы и сервер заодно собрать. Насчет примеров я в затруднении. Дело в том, что новых команд у letodb нет никаких. Это rdd, и его использование такое же, как у dbfcdx/dbfntx. Отличается строка коннекта в имени файла, а она подробно описана. Есть дополнительные функции, они описаны плохо, но они предназначены для продвинутого использования, а для простой замены dbfcdx/ads на letodb необязательны. Давать примеры использования use, index, go top, skip, seek, locate что ли ? Зачем ? Отсутствие таких примеров разве являеся препятствием к использованию letodb ? Мне кажется, препятствием является что-то другое. Мне так же не очень понятно, как можно быть тестером описания. Андрей, ты же пробовал работать с letodb ? Вот и описал бы свои попытки, что получилось, что нет.

Andrey: Pasha пишет: Андрей, ты же пробовал работать с letodb ? Вот и описал бы свои попытки, что получилось, что нет. Пробовал, но потом забросил. Рутина заела, времени не хватает... Под тестером, подразумеваю - сборку клиента и сервера и проверку на примерах по шагам с описанием. Давай хотя бы вступление напиши (я не смогу)... Начало уже есть: letodb - это сервер и клиентская библиотека. letodb - это rdd, и его использование такое же, как у dbfcdx/dbfntx.

Pasha: Инструкция на русском языке есть. Последовательность действий: Скачать letodb с помощью TortoiseCVS :pserver:anonymous@letodb.cvs.sourceforge.net:/cvsroot/letodb указать branch (на вкладке revison TortoiseCVS) rel-1-mt Затем сборка: сервер собрать с помощью letodb.hbp под Harbour, а клиентскую библиотеку: для Harbour - с помощью rddleto.hbp, для xHarbour - make_b32.bat Свои программы собирать с rddleto.lib Пример программы можно посмотреть: tests\test_ta.prg

Softlog86: Спасибо за "Старт" , но вопросов еще больше ... Скачал кучу раных Harbour / MiniGui и т д . Попробовал всё поставить ,,,, но видно какая-то несовместимость ... Подскажите проверенные "комплекты" . Есть HWGUI есть MiniGUI - внутри есть то-же каталоги Harbour ... Тот-ли это что надо или нужно брать из C:\HARBOUR - установленный из другого пакета ? Есть HARBOUR 3.0 Есть 2.0 . Голова круом идёт

Dima: Softlog86 пишет: указать branch (на вкладке revison TortoiseCVS) rel-1-mt Чес слово не понял где это указывать. TortoiseCVS версия 1.12.5

Softlog86: Сервер & LIB LETO я вроде сделал .... Пытаюсь собрать утилиты и примеры .... не получается . Постоянно чего-то нехватает ....

Andrey: Softlog86 пишет: Есть HWGUI есть MiniGUI - внутри есть то-же каталоги Harbour ... Тот-ли это что надо или нужно брать из C:\HARBOUR - установленный из другого пакета ? Есть HARBOUR 3.0 Есть 2.0 . Голова круом идёт Сначала реши на чем будешь делать проги ! Если терминалку, то MiniGUI не нужно, достаточно только HARBOUR 3.0 ! Если Win32 то ставь только MiniGUI !

PSP: Dima, я загружаю командой: cvs -d:pserver:anonymous@letodb.cvs.sourceforge.net:/cvsroot/letodb checkout -r rel-1-mt letodb

Dima: PSP Консольный CVS я где то посеял ;) Слушай а выложи комплект сырцов Letodb на обменник. Спасибо !

Andrey: Dima пишет: Слушай а выложи комплект сырцов Letodb на обменник. Присоединяюсь !!! Я бы тоже не отказался.

Pasha: Выложить несложно, но конечно хочется, чтобы letodb собирали сами. Каждый раз ведь выкладывать не получится ? А изменения есть. Поэтому хотелось бы, чтобы и сборка была максимально простой. Говорите, какие есть проблемы со сборкой. Я не из вредности, сам могу выложить.

PSP: Dima, лови: http://files.mail.ru/V9107O Это - сырцы, бинарника и библиотеки нет, как просил. Но, лучше б, конечно, как Паша говорит...

Pasha: Dima пишет: Чес слово не понял где это указывать. На 2-й вкладке надо отметить Выберите ветку или метку, и там указать rel-1-mt

Dima: Pasha пишет: На 2-й вкладке надо отметить Выберите ветку или метку, и там указать rel-1-mt Сработало . Спасибо ! А "branch (на вкладке revison TortoiseCVS) " не нужен ? PSP Спасибо !

Softlog86: Не могу собрать библиотеки HwGUI : Читал что нужно обновить сырцы .... Не могу найти что-то поновее .... CVS-ом обновил и LETODB и сам HARBOUR .....

Pasha: Dima пишет: А "branch (на вкладке revison TortoiseCVS) " не нужен ? Это одно и то же, у меня просто нерусифицированный TortoiseCVS



полная версия страницы