On-line: Dr. Oldwarez, PSP, NickSam, гостей 0. Всего: 3 [подробнее..]
АвторСообщение
alkresin
moderator


Пост N: 31
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 31.01.08 11:36. Заголовок: Leto DB Server


Только что открыл на Sourceforge новый проект - Leto DB Server - https://sourceforge.net/projects/letodb

Это мультиплатформенный ( Windows, Unix/Linux ) сервер баз данных, предоставляющий клиентским программам доступ к dbf/cdx файлам, находящимся на удаленном сервере ( можно и на локальном компьютере запускать - в отладочных целях ). В общем, как ADS :).

Проект - на стадии разработки, не все даже базовые функции еще реализованы, до оптимизации дело еще не дошло. Но работает :).
Крутится у меня на сервере несколько дней, подключал до 15 клиентов, пока не падает. Мои программы работают с ним нормально.

Преимущества по сравнению с обычным файл-сервером:
1) Безопасность - базы могут быть в каталоге, недоступном для клиентских компьютеров - никто их случайно не удалит и не повредит.
2) Поскольку базы открываются серверной программой, а не клиентской, ее целостности ничего не грозит при случайном отключении клиентского компьютера.
3) значительное уменьшение сетевого траффика.
4) Должен быть, по идее, выигрыш в скорости.
5) Возможность контроля за пользователями с помощью утилиты manage ( можно придумать и другие формы контроля ).
6) Можно будет сделать транзакции, stored procedures на Харборе, ... и вообще все в наших руках :).

Кто хочет участвовать в разработке, тестировании - пишите.



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


Pasha
Администратор




Пост N: 925
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 01.06.08 17:37. Заголовок: Сейчас на сервере мо..


Сейчас на сервере можно задать либо глобальную настройку - параметр DEFAULT_DRIVER, либо указать несколько БД (в разных каталогах), и для каждой указать параметры DATAPATH и DRIVER
Пример:

[DATABASE]
DATAPATH=c:\data\b1
DRIVER = cdx
[DATABASE]
DATAPATH=c:\data\b2
DRIVER = ntx

При открытии таблицы сервер по каталогу находит БД, и использует нужный драйвер

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




Пост N: 926
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 01.06.08 21:38. Заголовок: Добавил функцию LETO..


Добавил функцию LETO_SUM(cField, [cFilter], [ScopeTop], [ScopeBottom])
Функция суммирует поле cField для записей, удовлетворяющих условию фильтра и scope


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



Пост N: 1
Зарегистрирован: 07.06.08
ссылка на сообщение  Отправлено: 07.06.08 12:23. Заголовок: Несколько офисов по ..


Несколько офисов по Москве. Есть желание объединить. Запустил сервер на другой машине, внес изменения, но с ходу не очень получилось. На какие грабли наступаю:
1. При отсутствии файла letodb.ini (ну ошибся в имени, с кем не бывает) файл открывается по полному пути. Если поставить вызов leto_file(), то возвращает .f. (не работает), при этом все начинает глючить. Файл открывается с вероятностью 50%, выдавая случайным образом ошибку. Надо бы исправить. При открытии файла идет ошибка
Error LETO/1021 Data type error: -002
2. Указываю в letodb.ini (уже делаю тест на локалке)
EnableFileFunc = 1
DEFAULT_DRIVER = NTX
DataPath = f:/ftest

Оказавается, путь к dbf должен указываться с IP адресом, а к индексному файлу – без IP адреса. Но ведь, как правило, настройка путей прописывается в одном месте, кроме того, нужно проверять наличие файла на сервере. Придется после проверки наличия файла функцией leto_file(fname) удалять из fname IP адрес, например

Stat func DelIPpath(fname)
return if(Left(fname,2)=="//",substr(fname,at("/",substr(fname,3))+2),fname)

Опять - почему это не делать на сервере?
3. Активно использую функцию XUPPER для поднятия русских букв в верхний регистр.

Func XUpper( String )
Retu CharRepl( 'abcdefghijklmnopqrstuvwxyzабвгдеёжзийклмнопрстуфхцчшщьыъэюя',;
String,;
'ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ' )

Приехали и встали. На сервере ее нет. Функция Upper() не поднимает русские буквы.

Общее впечатление – сыровато с точки зрения – шаг влево, шаг вправо. Переделки сетевой задачи на NTX небольшие: в функции сетевого открытия проверяем наличие в имени файла “//“ и открываем файл VIA LETO. И убираем IP из имени файлов индексов для серверных файлов. Все остальные файлы, в имени которых нет “//” (в том числе локальные) открываются как NTX по умолчанию. В

Нужно что-то делать с функциями в индексе. Как минимум пара функций есть своих кроме XUpper(). Пока стою и решаю, идти ли дальше.


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




Пост N: 928
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.06.08 14:33. Заголовок: 1. При отсутствии le..


1. При отсутствии letodb.ini применяются стандартные настройки, где параметр EnableFileFunc выключен
Впрочем, я пересмотрю leto_file(). На SF форуме Leonardo Machado тоже на нее жалуется, хотя у меня его пример работает
2. Параметры соединения: IP:port необходимы только при открытии таблицы, при открытии индекса они не нужны. Так что логика в этом есть. Впрочем, это можно обсудить
3. Вопрос про UDF уже здесь обсуждался, и пришли к выводу, что такие функции, или request для стандартных Харбор-функций, пользователью надо включать в тело server.prg. Ведь процедура сборки сервера простейшая
Кстати, русские кодовые страницы на сервере подликовываются, и upper должен работать корректно

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



Пост N: 2
Зарегистрирован: 07.06.08
ссылка на сообщение  Отправлено: 09.06.08 10:46. Заголовок: Фукция Indexkey() во..


Фукция Indexkey() возвращает правильно только первые два индексных выражения (проверял на NTX), вместо третьего идет код. Сам индекс поддерживается. Пробовал переставлять второй и третий индекс, возвращает либо код 10 либо код 55, в зависимости от того, какой индекс стоит третьим.

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