Форум » LetoDB, HbNetio. » Leto DB Server (продолжение) » Ответить

Leto DB Server (продолжение)

alkresin: Только что открыл на 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 на Харборе, ... и вообще все в наших руках :). Кто хочет участвовать в разработке, тестировании - пишите.

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

sashaBG: Недавно попробовал откомпилировать но получаются ошибки MAKE Version 5.2 Copyright (c) 1987, 2000 Borland bcc32 -c -Iinclude;C:\MINIGUI\HARBOUR\include -d -tWM -D__WIN32__ -D__WIN_DAEMON__ -oobj\b32\leto1.obj source\client\leto1.c Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland source\client\leto1.c: Error E2451 source\client\leto1.c 342: Undefined symbol 'hb_cdp_page' in function leto_ConnectionNew Error E2451 source\client\leto1.c 342: Undefined symbol 'hb_set' in function leto_ConnectionNew Error E2451 source\client\leto1.c 915: Undefined symbol 'hb_set' in function letoGoBottom Error E2451 source\client\leto1.c 940: Undefined symbol 'hb_set' in function letoGoTo Error E2451 source\client\leto1.c 981: Undefined symbol 'hb_set' in function letoGoTop Error E2451 source\client\leto1.c 1021: Undefined symbol 'hb_cdp_page' in function letoKeyToStr Error E2451 source\client\leto1.c 1047: Undefined symbol 'hb_set' in function letoSeek Warning W8057 source\client\leto1.c 1082: Parameter 'bSoftSeek' is never used in function letoSeek Warning W8057 source\client\leto1.c 1082: Parameter 'bFindLast' is never used in function letoSeek Error E2451 source\client\leto1.c 1151: Undefined symbol 'hb_set' in function letoSkipRaw Error E2451 source\client\leto1.c 1313: Undefined symbol 'hb_cdp_page' in function letoGetMemoValue Error E2451 source\client\leto1.c 1343: Undefined symbol 'hb_cdp_page' in function letoGetValue Error E2451 source\client\leto1.c 1537: Undefined symbol 'hb_cdp_page' in function letoPutMemoValue Error E2451 source\client\leto1.c 1587: Undefined symbol 'hb_cdp_page' in function letoPutValue Error E2451 source\client\leto1.c 2107: Undefined symbol 'hb_set' in function letoOpenConnection Error E2451 source\client\leto1.c 2122: Undefined symbol 'hb_set' in function letoOpenConnection Error E2451 source\client\leto1.c 2267: Undefined symbol 'hb_cdp_page' in function letoCreate Error E2451 source\client\leto1.c 2363: Undefined symbol 'HARBOUR_MAX_RDD_ALIAS_LENGTH' in function letoOpen Error E2451 source\client\leto1.c 2428: Undefined symbol 'hb_cdp_page' in function letoOpen Error E2451 source\client\leto1.c 2520: Undefined symbol 'hb_set' in function letoOpen Error E2451 source\client\leto1.c 2562: Undefined symbol 'HARBOUR_MAX_RDD_DRIVERNAME_LENGTH' in function letoSysName Error E2451 source\client\leto1.c 3834: Undefined symbol 'hb_set' in function HB_FUN_LETO_SUM *** 20 errors in Compile *** ** error 1 ** deleting obj\b32\leto1.obj повидимому в харбурах произошли какието изменения у меня были какието успехи (перетащил одну свою програмку "MiniGUI+Harbour+LetoDB" ) И очень хочется продолжить тестирование ! Pasha помогите пожалуста !

Pasha: Да, есть изменения в api, и в Harbour, и в xHarbour, которые надо учесть Мне еще осталось сделать установку SET_CENTURY и SET_DATEFORMAT как сделаю - залью на CVS

Pasha: Готово Только теперь, я думаю, возникнет проблема сборки letodb для старых версий Харборов. После стольких малоосмысленных переименований становится трудно поддерживать все.


Andrey: Pasha пишет: возникнет проблема сборки letodb для старых версий Харборов. А может и не надо поддерживать старые версии ? Все равно приходиться перетаскивать свои программы на новые версии !!! А куда делся Alexander S.Kresin ? По почте не отвечает ...

Pasha: Всех с праздником ! Отправил на CVS исправления, которые сделал Diego M. Martin Он пишет, что исползьзует letodb уже несколько месяцев, и сервер работает хорошо и очень быстро Поскольку я сам его в работу еще не ставил, это интересный опыт

visitor: Andrey пишет: А куда делся Alexander S.Kresin ? По почте не отвечает ... Всем остальным тоже интересно. Кто-нибудь ответит?

gfilatov: Pasha пишет: Отправил на CVS исправления, которые сделал Diego M. Martin Спасибо! Выложил полную сборку Harbour Leto RDD build 0.7 (by Alexander S. Kresin) updated for Harbour 1.1.0dev по адресу: http://minigui.mylivepage.ru/file/?fileid=6306

PSP: Ну, а все-таки, кто реально (кроме Diego M. Martin ) использует сервер в работе?

PSP: Добавлю: кто-нить замечал подобное? При использовании LetoDB RDD с консольной прогой винда запускает системный процесс csrss.exe (client/server run-time subsystem) и они вместе (прога и csrss.exe) начинают нагружать проц на 100%. Это нормально? PS: точнее не "винда запускает...", а просто "системный процесс". Он всегда работает...

PSP: И еще: как работает система транзакций? leto_RollBack() имеет смысл? Какие подводные камни могут быть?

sashaBG: У меня пока без проблем Программа довольно большая ( Бухгалтерская система ) пользуюсь ( MiniGui + Harbour + LetoDB + DBFCDX) для локальной работе переключаюсь на DBFCDX драйвер при некоторых обработках промежуточной информации написал несколько функций для улеснения работы CopyToCDX(cFile) CopyToLeto(cFile) AppendFromCDX(cFile) AppendFromLeto(cFile) и др. переведу сначало коментарии и сообщения на руском (я из Болгарии) и потом выложу линк а если не терпится можете попробовать ftp://93.123.24.51/PROCS.PRG user: guest pass: 111 при работе заметил что SET SCOPE иногда работает странно например: DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) ) DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) ) DVIG->(DBGoTop()) не устанавливает фильтр а так: DVIG->(DBGoTop()) DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) ) DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) ) DVIG->(DBGoTop()) Все ОК Вобщем мне нравится как сервер работает , но нужно тестировать и тестировать и таких проблем как 100% нагрузка не замечал и под Vista и под XP a до транзакциях еще не дошел :(

Dima: PSP пишет: они вместе (прога и csrss.exe) начинают нагружать проц на 100%. Это нормально? На вирусы проверь машинку. Сейчас просто эпидемия....

Pasha: PSP пишет: Ну, а все-таки, кто реально (кроме Diego M. Martin ) использует сервер в работе? Кресин использует

PSP: Dima пишет: На вирусы проверь машинку. Сейчас просто эпидемия.... Не, всё проверено,чисто. Процесс запущен от имени SYSTEM, файл csrss.exe находится c:\windows\system32.

PSP: sashaBG, спасибо! Посмотрю.

PSP: Pasha пишет: Кресин использует Это понятно.

sashaBG: И все таки SET SCOPE не работает ! Может быть е слишком сложныйе фильтры сделал не знаю Ребята посмотрите сделал две одинаковые СПРАВКИ една под LETODB и другая в локальном режиме от результата видно что LETDB не устанавливает SCOPE знаю что можно реализовать и по-другому но хочется через SCOPE ftp://93.123.24.51/test.zip user: guest pass: 111 ili http://savovs.mylivepage.com/files/test.zip

Pasha: sashaBG пишет: DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) ) DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) ) DVIG->(DBGoTop()) не устанавливает фильтр а так: DVIG->(DBGoTop()) DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) ) DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) ) DVIG->(DBGoTop()) Все ОК Я не очень понял смысл такого фильтра Индексное выражение - SME+DOST_SME+DOK_SME+DTOS(DATA_SME) То есть, все записи с непустой датой DATA_SME должны выбрасываться из фильтра, поскольку DTOS(DATA_SME) > space(8), и scope_bottom не выполняется ?

sashaBG: Да Паша ты прав я неправильно написал, в фильтре должны войти все даты так наверное правильнее DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+ Space(8) ) ) DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+'99999999' ) ) DVIG->(DBGoTop()) или DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA ) ) DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA ) ) DVIG->(DBGoTop()) но к сожалению после последнего виден весь файл DVIG а вариант DVIG->(DBGoTop()) DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA ) ) DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA ) ) DVIG->(DBGoTop()) показывает первую запись файла + правильно отфильтрованные а в локальном варианте видно что результат другой (правильный)

sashaBG: Вопрос к Паше ! У LetDB есть возможность проверять наличие Директорий ? Содержание LetoDB.ini такое: [MAIN] Port = 2812 Log = letodb.log DataPath = c:\letodb EnableFileFunc = 1 Я пробовал Leto_Connect() (Leto_Connect("//127.0.0.1/")<>-1) возвращает .T. (Leto_Connect("//127.0.0.1/FIRMA")<>-1) возвращает .T. (а такой папки в "c:\letodb" нет ) мне кажется ето будет полезно чтобы избежать ошибок при DBCreate() например или добавить функцию Leto_IsDir(<cDir>) а потом использовать так: cServer := //127.0.0.1/ IF ! Leto_IsDir(cServer + "FIRMA") ?"Путь "+ cServer + "FIRMA" + "неправильный !" endif



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