Автор | Сообщение |
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, или к-во записей в группе
|
|
|
Ответов - 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 - вот на это самое я и намекал ! Именно описать в доках ! А то приходится часами ковыряться и самого себя десятки раз перепроверять .....
|
|
|
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] . Многим же легче будет при структурированной доке!..
|
|
|
Pasha
|
| Администратор
|
Пост N: 2303
Зарегистрирован: 23.05.05
|
|
Отправлено: 15.03.12 20:45. Заголовок: Бывает необходимость..
Бывает необходимость проверить существование множества файлов в несколькиих каталогах. Скажем, для десятка (или не одного десятка) dbf-файлов, плюс их индексы, это приведет к нескольким десяткам запросов к серверу. Написал маленькую (ну очень) udf-функцию, которая делает это одним запросом. Как обычно - в tests\letoudf.prg
|
|
|
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, а также открытые таблицы Базы Данных. При необходимости есть возможность управления (отключения) соединениями.
|
|
|
gustow
|
| постоянный участник
|
Пост N: 285
Зарегистрирован: 06.02.07
|
|
Отправлено: 19.03.12 07:32. Заголовок: Pasha , спасибо, уже..
Pasha , спасибо, уже что-то :) Добавил в Википедию в статью про Harbour в главку "Разработка клиент-серверных и Web-приложений".
|
|
|
Pasha
|
| Администратор
|
Пост N: 2311
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.03.12 16:25. Заголовок: Мне тут поступила ре..
Мне тут поступила рекламация из соседнего полушария нашей планеты. Народ использует инет-соединение для letodb. Обычные операции выборки из БД работают на ура, т.е. быстро. А вот просмотр в гриде - а именно xbrowse fwh - медленно, сильно тормозит. Думаю, тоже самое будет иметь место и для других гридов, в частности tsbrowse. Анализ показал, что причина этого - многочисленные запросы reccount(), которые вызывает грид. Я уже подготовил лекарство. Суть в чем. При получении данных текущей записи я также стал передавать текущее к-во записей. И при запросе reccount можно не выдавать запрос к серверу, а использовать ранее полученное значение. Эта фича включается (по умолчанию она выключена) вызовом: rddInfo(RDDI_REFRESHCOUNT, .f.,, nConnection) Если эта фича включена, то клиент увидит увеличение к-ва записей в таблице не сразу после ее добавления другим клиентом, а только после того, как будет обновлена текущая запись. Кстати, в Ads тоже есть такая фича, но в rddads нет возможности ее включить.
|
|
|
PSP
|
| постоянный участник
|
Пост N: 751
Зарегистрирован: 27.01.07
|
|
Отправлено: 19.03.12 16:34. Заголовок: Pasha пишет: Народ ..
Pasha пишет: цитата: | Народ использует инет-соединение для letodb |
| Интересно, какая скорость uplink-а со стороны сервера.
|
|
|
Pasha
|
| Администратор
|
Пост N: 2314
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.03.12 17:39. Заголовок: PSP пишет: Интересн..
PSP пишет: цитата: | Интересно, какая скорость uplink-а со стороны сервера. |
| Вот чего не знаю, того не знаю
|
|
|
Pasha
|
| Администратор
|
Пост N: 2351
Зарегистрирован: 23.05.05
|
|
Отправлено: 17.05.12 22:37. Заголовок: Добавил параметр nTi..
Добавил параметр nTimeOut в функции leto_Connect для соединения с сервером, а также опцию "TimeOut=..." в letodb.ini на сервере
|
|
|
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) Раньше вроде работало.
|
|
|
Pasha
|
| Администратор
|
Пост N: 2355
Зарегистрирован: 23.05.05
|
|
Отправлено: 22.05.12 18:58. Заголовок: AlexMyr пишет: Рань..
AlexMyr пишет: Работало в версии 1.х. Поправил.
|
|
|
|
AlexMyr
|
| |
Пост N: 491
Зарегистрирован: 11.06.10
|
|
Отправлено: 22.05.12 20:04. Заголовок: Паша, спасибо, завтр..
Паша, спасибо, завтра проверю на работе.
|
|
|
AlexMyr
|
| |
Пост N: 492
Зарегистрирован: 11.06.10
|
|
Отправлено: 23.05.12 09:26. Заголовок: Pasha пишет: Поправ..
Pasha пишет: работает, спасибо
|
|
|
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 все нормально. Замечание: Запускаю и останавливаю из другой программы
|
|
|
PSP
|
| постоянный участник
|
Пост N: 767
Зарегистрирован: 27.01.07
|
|
Отправлено: 07.06.12 08:45. Заголовок: sashaBG, а не собран..
sashaBG, а не собран ли letodb.exe как сервис (служба)?
|
|
|
Pasha
|
| Администратор
|
Пост N: 2364
Зарегистрирован: 23.05.05
|
|
Отправлено: 07.06.12 09:03. Заголовок: PSP пишет: а не соб..
PSP пишет: цитата: | а не собран ли letodb.exe как сервис (служба)? |
| Так эта команда как раз останавливает сервис. letodb stop коннектится с запущенным сервисом, и посылает ему команду stop. Что-то мещает сконнектиться с сервисом.
|
|
|
Pasha
|
| Администратор
|
Пост N: 2365
Зарегистрирован: 23.05.05
|
|
Отправлено: 07.06.12 09:04. Заголовок: Я проверил на 2-х ко..
Я проверил на 2-х компьютерах с win7 - работает Возможно, эту команду блокирует брандмауэр
|
|
|
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 Пока вернулся на старую сборку с марта месяца , там все везде работает :(
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 108
Зарегистрирован: 15.09.05
|
|
Отправлено: 07.06.12 17:06. Заголовок: Проверил
Паша после последних 2-х commit-ов у меня через __WIN_DAEMON__ не работает а до того (2012-04-05 19:20) включительно работает.
|
|
|
Pasha
|
| Администратор
|
Пост N: 2368
Зарегистрирован: 23.05.05
|
|
Отправлено: 07.06.12 19:41. Заголовок: sashaBG пишет: посл..
sashaBG пишет: цитата: | после последних 2-х commit-ов у меня через __WIN_DAEMON__ не работает а до того (2012-04-05 19:20) включительно работает. |
| Поправил Как оказалось, была необходима инициализация значения timeout для передачи сообщения.
|
|
|
Ответов - 232
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
All
[только новые]
|
|