On-line: PSP, Alex_Cher, гостей 0. Всего: 2 [подробнее..]
АвторСообщение
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 [только новые]


alkresin
moderator


Пост N: 99
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.02.08 13:30. Заголовок: Может, и стоит. Пока..


Может, и стоит. Пока необходимости не возникало, поэтому и не думал на эту тему.

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


Пост N: 101
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.02.08 15:34. Заголовок: Перевел значительные..


Перевел значительные куски сервера, включая ParseCommand, на С. Теперь можно смотреть в сторону дополнительных процессов и потоков.

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




Пост N: 489
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.02.08 13:46. Заголовок: Полез пробовать утил..


Полез пробовать утилиту и получил ошибку:
Error BASE/1004 No exported method: SEND
Called from SEND(0)
Called from USERSINFO(212)
Called from (b)MAIN(88)
Called from ONCOMMAND(286)
Called from (b)(_INITSTATICS00003)(0)
Called from HCONTROL:ONEVENT(148)
Called from HPANEL:ONEVENT(93)
Called from HWG_ACTIVATEMAINWINDOW(0)
Called from HMAINWINDOW:ACTIVATE(231)
Called from MAIN(100)

HwGUI 2.16 Harbour devel build 1.1-1 Intl.
Date:02/18/08
Time:13:26:03

Потом догадался, что не ввел IP-adres & Port.
Надо бы сделать для "чайников" обработку и надпись для ввода.

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




Пост N: 490
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.02.08 16:35. Заголовок: Что-то не получается..


Что-то не получается у меня открыть FOX базу на сервере.

Добавил VIA "RDDCDX" - ругается
USE "//192.168.220.3:2812/FOND/DAT/spiski" SHARED NEW VIA "RDDCDX"
что:
Subsystem Call ....: DBCMD
System Code .......: 1015
Default Status ....: .F.
Description .......: Неверный аргумент
Operation .........: DBUSEAREA
Arguments .........:
Involved File .....:
Dos Error Code ....: 0

Если убрать VIA то пишет:
Open error (21-1001): E:\WORK_UCHET/FOND/DAT/spiski

Другой dbf файл без МЕМО открывает нормально.


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



Пост N: 44
Зарегистрирован: 15.11.05
ссылка на сообщение  Отправлено: 18.02.08 16:57. Заголовок: >А NTX-ы поддерж..


>А NTX-ы поддерживает ? А программный код дорабатывать нужно и насколько ?
>А то у меня есть задачка на Clipper-е, которая реально работает 10 лет в сети, и нагрузка приличная. Можно было >бы потестировать, да и быстродействие сравнить.

А на Линух перетащить под Clip.
У меня работает на Ура!



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


Пост N: 102
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.02.08 22:55. Заголовок: Что-то не получается..



 цитата:
Что-то не получается у меня открыть FOX базу на сервере.


А просто Харбором c DBFCDX она открывается ?

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




Пост N: 492
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.08 09:20. Заголовок: alkresin пишет: А п..


alkresin пишет:

 цитата:
А просто Харбором c DBFCDX она открывается ?



Конечно открывается, я просто подключил рабочую базу на сервере и решил с ней параллельно проэксперементировать. И затык.....

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


Пост N: 103
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.02.08 10:19. Заголовок: Ну пришлите мне ее н..


Ну пришлите мне ее на email, только очистите сначала zap'ом

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


Пост N: 104
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.02.08 10:25. Заголовок: lista пишет: А на Л..


lista пишет:

 цитата:
А на Линух перетащить под Clip.


Можно и так, в терминале с stelnet. Кстати, таким же образом можно и под Харбор.

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 19.02.08 11:52. Заголовок: А что делать с собст..


А что делать с собственными функциями в индексном выражении? Эта проблема уже всплывала?

Спасибо: 0 
alkresin
moderator


Пост N: 105
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.02.08 12:31. Заголовок: А что делать с собст..



 цитата:
А что делать с собственными функциями в индексном выражении? Эта проблема уже всплывала?


Я вижу здесь 2 варианта:
1) Избавляться от них - как при использовании ADS
2) Собрать сервер вместе с этими функциями

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 19.02.08 14:48. Заголовок: Мысль понятна. Интер..


Мысль понятна.
Интересно, а как с этим борется Польский медиатор? Он вообще не индексирует на сервере или передает клиенту, если ключ нестандартный?

Спасибо: 0 
Andrey
постоянный участник




Пост N: 494
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.08 23:13. Заголовок: А можно привести при..


А можно привести пример открытия БД с мемо полем FPT ?
Может быть я синтакис неправильно делаю ?

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




Пост N: 495
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.08 00:54. Заголовок: Петр пишет: Кстати,..


Петр пишет:

 цитата:
Кстати, здесь несколько возможных пользователей уже заявляли о своей готовности тестировать/использовать такой продукт. Я думаю, что было бы неплохо услышать их мнение, первые впечатления так сказать и, что особенно важно, что они ожидают увидеть в бл.будущем.



Какие нафиг впечатления ..... Вы сами по себе о чем-то обсуждаете, а простой пример как правильно работать с базой, даже и не подумали выложить. Не все такие продвинутые в разработке.
Я например просто использую БД для своих задач. А как это работает подглядывая на исходный код реализованный вами .... догадываться сложно.
Давайте коротко:
1) какой RDD доступен сейчас. (у меня не открывается база с мемо FPT)
2) пример доступности сервера и открытия, создания БД (простой и продвинутый)
3) пример индексов к этим базам
4) отдельные файлы для сборки сервера leto db со своими функциями
5) файловые операции на сервере

Для начала пока хватит .

Да еще: выход из сервера при незакрытой задачи не должен быть !!!
Руки даже у админа бывают кривые (смотря какой попадется), а отвечать за утерянные данные придется программисту (даже в лог ничего не пишется ) !


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


Пост N: 106
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.02.08 09:09. Заголовок: А можно привести при..



 цитата:
А можно привести пример открытия БД с мемо полем FPT ?
Может быть я синтакис неправильно делаю ?


Да обычный синтаксис, ничем не отличается от других:
USE "//..../path/test.dbf"

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


Пост N: 107
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.02.08 12:17. Заголовок: Вы сами по себе о че..



 цитата:
Вы сами по себе о чем-то обсуждаете, а простой пример как правильно работать с базой, даже и не подумали выложить.


Вот такой пример устроит ?

Function Main
Local cTable, arr
Local i, n1, n2, nSec, s

REQUEST LETO
RDDSETDEFAULT( "LETO" )
cTable := "//199.10.11.5:2812/test1.dbf"

arr := { { "FirstName", "C", 20, 0 }, ;
{ "LastName", "C", 20, 0 }, ;
{ "Age", "N", 3, 0 }, ;
{ "Date", "D", 8, 0 }, ;
{ "Rate", "N", 6, 2 }, ;
{ "Student", "L", 1, 0 } }

dbCreate( cTable, arr )
use (cTable) new
? "Test 1 "
nSec := Seconds()
for i := 1 to 200000
append blank
n1 := hb_RandomInt( 80 )
n2 := hb_RandomInt( 50 )
replace Age with n1, ;
Date with Date() - 365*n2 + n1, ;
Rate with 56.5 - n1/2
replace FirstName with "A"+Chr(64+n2)+Padl(i,10,'0'), ;
LastName with "B"+Chr(70+n2)+Padl(i,12,'0'), ;
Student with ( (field->Age % 2) == 1 )
unlock
next
?? "Finished in "+Ltrim(Str(Seconds()-nSec))+" seconds"

? "Test 2 "
nSec := Seconds()
index on Age tag Age
?? "Finished in "+Ltrim(Str(Seconds()-nSec))+" seconds"
use

use (cTable) new
go top
? "Test 3 "
nSec := Seconds()
do while !Eof()
s := FirstName
skip
enddo
?? "Finished in "+Ltrim(Str(Seconds()-nSec))+" seconds"
use

use (cTable) new
set order to 1
go top
? "Test 4 "
nSec := Seconds()
do while !Eof()
s := FirstName
skip
enddo
?? "Finished in "+Ltrim(Str(Seconds()-nSec))+" seconds"
use
?
Return Nil


 цитата:
1) какой RDD доступен сейчас. (у меня не открывается база с мемо FPT)


RDD один - LETO, на сервере поднят DBFCDX. У меня файлы с мемо fpt открываются, поэтому я и просил вас прислать свой, может в нем что необычное - только не весь, конечно, оставьте в нем пару записей.

 цитата:
2) пример доступности сервера и открытия, создания БД (простой и продвинутый)
3) пример индексов к этим базам


См. пример выше.

 цитата:
4) отдельные файлы для сборки сервера leto db со своими функциями


Не понял, что имеете ввиду.

 цитата:
5) файловые операции на сервере


Это к Pasha, я их сам еще не пробовал.

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


Пост N: 108
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.02.08 12:20. Заголовок: abakkav пишет: Инте..


abakkav пишет:

 цитата:
Интересно, а как с этим борется Польский медиатор? Он вообще не индексирует на сервере или передает клиенту, если ключ нестандартный?


Понятия не имею, я его не пробовал. А что, он это умеет ?

В принципе, здесь можно это, наверное, реализовать - через custom индекс, вычисляя ключи на стороне клиента.

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 20.02.08 15:00. Заголовок: Не знаю как, но меди..


Не знаю как, но медиатор допускает собственные ф-ции в индексе и не требует пересобирать серверную часть.

А реализовать "через custom индекс" или формируя запрос на клиента в случае нестандартного индекса было бы здорово.



Спасибо: 0 
Andrey
постоянный участник




Пост N: 496
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.08 22:03. Заголовок: alkresin пишет: 4) ..


alkresin пишет:

 цитата:
4) отдельные файлы для сборки сервера leto db со своими функциями

Не понял, что имеете ввиду.



Про то, что задавал вопрос:
abakkav пишет:

 цитата:
собственные ф-ции в индексе




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




Пост N: 815
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 24.02.08 10:54. Заголовок: Опять мистика какая-..


Опять мистика какая-то
Собрал letodb под xHarbour
При попытке открытия 22-й по порядку (в разных программах!) таблицы сервер вываливается по gpf на строке

IF ( oTable := HSTable():Find( cName ) ) == Nil

в hs_opentable, причем до вызова метода Find дело не доходит, управление в HSTable():Find не передается
2 недели назад этого не было


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