On-line: Andrey, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
Pasha
Администратор




Пост N: 1937
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 18.05.11 19:04. Заголовок: Leto DB Server


Добавил функцию:

LETO_GROUPBY(cGroup, cFields, [cFilter], [xScopeTop], [xScopeBottom])

cGroup - имя поля, по которому группируются данные;
cFields - список числовых полей через запятую, которые суммируются. Символ # обозначает к-во записей в группе

Функция возвращает двумерный массив строк.
1-й элемент каждой строки - значение поля cGroup, следующие элементы суммы полей, заданных в cFields, или к-во записей в группе


Спасибо: 0 
Профиль
Ответов - 232 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 All [только новые]


Softlog86



Пост N: 53
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 14.03.12 20:49. Заголовок: Andrey - вот на это ..


Andrey - вот на это самое я и намекал ! Именно описать в доках ! А то приходится часами ковыряться и самого себя десятки раз перепроверять .....

Спасибо: 0 
Профиль
gustow
постоянный участник




Пост N: 283
Зарегистрирован: 06.02.07
ссылка на сообщение  Отправлено: 15.03.12 14:42. Заголовок: Кто ковыряет LETODB ..


Кто ковыряет LETODB и немножко сечет в Вики-редактировании - ну нарисуйте главу про него в Вики-книжку по Harbour, что я начал делать на Вики-книге: [url=http://ru.wikibooks.org/wiki/Harbour_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)]вот в этой[/url] . Многим же легче будет при структурированной доке!..

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2303
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.03.12 20:45. Заголовок: Бывает необходимость..


Бывает необходимость проверить существование множества файлов в несколькиих каталогах.
Скажем, для десятка (или не одного десятка) dbf-файлов, плюс их индексы, это приведет к нескольким десяткам запросов к серверу.
Написал маленькую (ну очень) udf-функцию, которая делает это одним запросом.
Как обычно - в tests\letoudf.prg


Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2306
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 16.03.12 15:31. Заголовок: gustow пишет: Кто к..


gustow пишет:

 цитата:
Кто ковыряет LETODB и немножко сечет в Вики-редактировании - ну нарисуйте главу про него в Вики-книжку по Harbour, что я начал делать на Вики-книге: [url=http://ru.wikibooks.org/wiki/Harbour_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)]вот в этой[/url] . Многим же легче будет при структурированной доке!..



Алексей, я когда-то сочинил такой текст (см. ниже). Если есть возможность, закиньте пожалуйста его в вики.

Что такое Leto DB Server?

Leto DB Server (letodb) – это 32/64-разрядный многоплатформенный сервер Баз Данных, в основном предназначенный для клиентских программ, написанных на языке Harbour, для доступа к файлам dbf. Проект Letodb стартовал в 2008-м году, его автор - Александр Кресин. В 2011-м году Letodb был существенно доработан.
Letodb – это высокоэффективный RDBMS клиент-сервер для сетевых, автономных (локальных) и интернет - приложений базы данных. Letodb представлен как Open Source проект, разработанный под лицензией GPL, дающей право на его свободное использование. Преимуществом letodb является объединение традиционных средств xBase для доступа Базам Данных и клиент-серверной технологии. Сервер letodb ответственен за весь доступ к базе данных (от имени клиентов). С оптимизированной методологией доступа к данным Letodb обеспечивает безопасность, стабильность и целостность данных при минимальных требованиях к обслуживанию.
Сервер Базы данных letodb улучшает работу с базой данных сети. Letodb разгружает большую часть работы, обычно выполняемой каждым автоматизированным рабочим местом клиента. Работая с сетью, letodb обрабатывает запросы данных и возвращает информацию клиентам сети. Сервер Базы данных letodb использует архитектуру клиент-сервер, улучшая многопользовательскую работу, стабильность базы данных, и безопасность базы данных. Сервер letodb поддерживает транзакции. При этом есть гарантия того, что сложная операция обновления Базы данных будет выполнена целиком. Также имеется возможность создания серверных процедур, которые вызываются с клиента и выполняются на сервере.
Структурно letodb состоит из серверной и клиентской части. Letodb (как серверная, так и клиентская часть) может использоваться для операционных систем MS Windows, Linux и MacOS. Для MS Windows поддерживаются операционные системы Windows 98/ME, Windows NT/2000/2003, Windows XP 32/64 бит, Windows Vista 32/64 и Windows 7 32/64 бит.
Под управлением MS Windows сервер letodb запускается как служба, но есть возможность собрать его как приложение. Для всей линейки разрядных ОС Windows: от Windows 98 до Windows 7 используется одна и та же сборка сервера. Под управлением ОС Linux сервер letodb запускается как демон. Как правило, для различных версий Linux сервер letodb надо собирать отдельно для каждой. Сервер letodb (как и Harbour) поставляется с исходными текстами и правилами сборки. Сервер letodb прост в настройке: достаточно указать папку, в которой располагаются Базы Данных, и некоторые другие настройки. В процессе работы сервер letodb не требует специального обслуживания. Letodb соединяется с клиентскими приложениями по протоколу TCP/IP. По умолчанию при этом используется порт 2812, хотя допускается работа и через другой порт. Соединение с сервером возможно как через локальную сеть, так и через интернет и интранет сети.
Сервер letodb обеспечивает безопасность доступа к данным. Имеется возможность включить режим шифрования передаваемого трафика. Также есть средства авторизации пользователей. В этом случае сервер letodb будет обслуживать только те соединения, в которых указаны параметры авторизации: имя пользователя и пароль. Для пользователей можно установить права на администрирование сервера, управление сервером, а также право на изменение данных.
Клиентская часть letodb – это библиотека, содержащая драйвер letodb для Harbour – модуль rdd, который удовлетворяет стандарту замещаемых драйверов баз данных языка Harbour, совместимых с драйверами dbfcdx/dbfntx, и поддерживающих их базовую функциональность. Клиентская библиотека letodb также содержит набор функций для управления и администрирования сервером letodb, функции работы с транзакциями, а также набор дополнительных функций для оптимизации работы с Базой данных. Клиентская библиотека letodb позволяет собрать приложение, работающее с сервером letodb, как для ОС MS Windows, так для Linux. Клиентское приложение может работать в гетерогенной сети, в которой используются сервера letodb, работающие под управлением различных ОС: как MS Windows, так и Linux.
Для настройки клиентского приложения достаточно указать IP-адрес или имя компьютера, на котором запущен сервер letodb, номер используемого порта, а также папки на сервере, в которых располагается база данных. Для работы с базой данных нет необходимости открывать сетевые ресурсы. Доступ к различным метаданным (шаблонам документов, скриптам, отчетам) также выполняется не через файловые операции, а с помощью запросов к серверу letodb. Возможно соединение приложений, использующих клиентскую библиотеку letodb, с удаленными Базами Данных через интернет и интранет сеть.
Для управления сервером предоставляется отдельная утилита, которую можно запустить как на клиенте, так и на компьютере, на котором запущен сервер. С помощью этой утилиты можно просмотреть все клиентские приложения, которые соединились с сервером letodb, а также открытые таблицы Базы Данных. При необходимости есть возможность управления (отключения) соединениями.


Спасибо: 0 
Профиль
gustow
постоянный участник




Пост N: 285
Зарегистрирован: 06.02.07
ссылка на сообщение  Отправлено: 19.03.12 07:32. Заголовок: Pasha , спасибо, уже..


Pasha , спасибо, уже что-то :) Добавил в Википедию в статью про Harbour в главку "Разработка клиент-серверных и Web-приложений".

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2311
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.03.12 16:25. Заголовок: Мне тут поступила ре..


Мне тут поступила рекламация из соседнего полушария нашей планеты. Народ использует инет-соединение для letodb. Обычные операции выборки из БД работают на ура, т.е. быстро. А вот просмотр в гриде - а именно xbrowse fwh - медленно, сильно тормозит. Думаю, тоже самое будет иметь место и для других гридов, в частности tsbrowse.
Анализ показал, что причина этого - многочисленные запросы reccount(), которые вызывает грид. Я уже подготовил лекарство. Суть в чем. При получении данных текущей записи я также стал передавать текущее к-во записей. И при запросе reccount можно не выдавать запрос к серверу, а использовать ранее полученное значение.
Эта фича включается (по умолчанию она выключена) вызовом:

rddInfo(RDDI_REFRESHCOUNT, .f.,, nConnection)

Если эта фича включена, то клиент увидит увеличение к-ва записей в таблице не сразу после ее добавления другим клиентом, а только после того, как будет обновлена текущая запись.

Кстати, в Ads тоже есть такая фича, но в rddads нет возможности ее включить.


Спасибо: 1 
Профиль
PSP
постоянный участник


Пост N: 751
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 19.03.12 16:34. Заголовок: Pasha пишет: Народ ..


Pasha пишет:

 цитата:
Народ использует инет-соединение для letodb


Интересно, какая скорость uplink-а со стороны сервера.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2314
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.03.12 17:39. Заголовок: PSP пишет: Интересн..


PSP пишет:

 цитата:
Интересно, какая скорость uplink-а со стороны сервера.



Вот чего не знаю, того не знаю

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2351
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 17.05.12 22:37. Заголовок: Добавил параметр nTi..


Добавил параметр nTimeOut в функции leto_Connect для соединения с сервером, а также опцию "TimeOut=..." в letodb.ini на сервере


Спасибо: 0 
Профиль
AlexMyr



Пост N: 490
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 22.05.12 13:00. Заголовок: В тестовый пример до..


В тестовый пример добавил orddescend
 
use ( cPath+"Nakl1" ) New
index on Dtos(DORD)+Str(NORD,10) TAG DATA
orddescend(,,.t.)

и прога вываливается
 
C:\dev\letodb\tests\>test_ta.exe

Start
Files has been created
Error LETO/1021 Data type error: -003
Called from ORDDESCEND(0)
Called from MAIN(20)


Раньше вроде работало.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2355
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.05.12 18:58. Заголовок: AlexMyr пишет: Рань..


AlexMyr пишет:

 цитата:
Раньше вроде работало.



Работало в версии 1.х.
Поправил.

Спасибо: 0 
Профиль
AlexMyr



Пост N: 491
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 22.05.12 20:04. Заголовок: Паша, спасибо, завтр..


Паша, спасибо, завтра проверю на работе.

Спасибо: 0 
Профиль
AlexMyr



Пост N: 492
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 23.05.12 09:26. Заголовок: Pasha пишет: Поправ..


Pasha пишет:

 цитата:
Поправил.

работает, спасибо

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 106
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 07.06.12 00:10. Заголовок: Letodb stop !


Заметил что по команде letodb stop под Win7 процесс Letodb не закрывается
а в логе пишет Can't STOP the server (not started?)...
под XP все нормально.

Замечание: Запускаю и останавливаю из другой программы

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 767
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 07.06.12 08:45. Заголовок: sashaBG, а не собран..


sashaBG, а не собран ли letodb.exe как сервис (служба)?

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2364
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.06.12 09:03. Заголовок: PSP пишет: а не соб..


PSP пишет:

 цитата:
а не собран ли letodb.exe как сервис (служба)?



Так эта команда как раз останавливает сервис.
letodb stop коннектится с запущенным сервисом, и посылает ему команду stop.
Что-то мещает сконнектиться с сервисом.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2365
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.06.12 09:04. Заголовок: Я проверил на 2-х ко..


Я проверил на 2-х компьютерах с win7 - работает
Возможно, эту команду блокирует брандмауэр

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 107
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 07.06.12 11:04. Заголовок: LetoDB собран с __WIN_DAEMON__


LetoDB собран с __WIN_DAEMON__
последовательност комманд :

letodb
letodb stop


letodb.log

06/07/12 10:46:49: Leto DB Server has been started.
Leto DB Server v.2.05 ! INIT: DataPath=C:\LetoDB, ShareTables=0, MaxUsers=500, MaxTables=5000, CacheRecords=10
06/07/12 10:47:07: Can't STOP the server (not started?)...



а кода LetoDb собран как сервис

letodb install
дает следующее

06/07/12 11:02:05: Error installing LetoDB service: 1072


ето все при использовании BCC55 и батник make_b32.bat

когда собраю через hbmk2 service запускается и останавливается (и BCC55 и MINGW )

а через __WIN_DAEMON__ запускается , но не останавливается

может я неправильно собираю , вот скрипт:


setlocal
set path=C:\borland\bcc55\bin;c:\harbour\bin
hbmk2 rddleto.hbp letodb.hbp
endlocal


Пока вернулся на старую сборку с марта месяца , там все везде работает :(

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 108
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 07.06.12 17:06. Заголовок: Проверил


Паша

после последних 2-х commit-ов у меня через __WIN_DAEMON__ не работает
а до того (2012-04-05 19:20) включительно работает.



Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2368
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.06.12 19:41. Заголовок: sashaBG пишет: посл..


sashaBG пишет:

 цитата:
после последних 2-х commit-ов у меня через __WIN_DAEMON__ не работает
а до того (2012-04-05 19:20) включительно работает.



Поправил
Как оказалось, была необходима инициализация значения timeout для передачи сообщения.

Спасибо: 0 
Профиль
Ответов - 232 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 122
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет