Автор | Сообщение |
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 на Харборе, ... и вообще все в наших руках :). Кто хочет участвовать в разработке, тестировании - пишите.
|
|
|
Ответов - 316
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|
alx_on
|
| постоянный участник
|
Пост N: 86
Зарегистрирован: 07.07.09
|
|
Отправлено: 09.07.10 13:47. Заголовок: Выложил свои правки...
Выложил свои правки... Вопрос по падению старой версии остается в силе (кто-то здесь упоминал меня после некоторых исправлений в коде :) ) Так вот: падения остались в самых неожиланных местах. Может 3 дня проработать, может сразу упасть.
|
|
|
alkresin
|
| moderator
|
Пост N: 380
Зарегистрирован: 06.07.06
|
|
Отправлено: 09.07.10 13:47. Заголовок: Подзабыл C. Какой пр..
|
|
|
alkresin
|
| moderator
|
Пост N: 381
Зарегистрирован: 06.07.06
|
|
Отправлено: 09.07.10 13:55. Заголовок: В связи с этим возни..
цитата: | В связи с этим возникает соблазн сделать аналог файлового доступа через leto: fopen - fread - fclose. Мне было бы достаточно доступа только на чтение, но неизбежно возникнет соблазн сделать и аналог fwrite. В связи с этим вопрос: а стоит ли ? Сделать то это легко, но надо ли ? |
| Я считаю, что стоит сделать - естественно, с обеспечением безопасности. Только, может, аналоги не fopen и Co, а memoread/memowrite, это проще и, наверное, достаточно.
|
|
|
alkresin
|
| moderator
|
Пост N: 382
Зарегистрирован: 06.07.06
|
|
Отправлено: 09.07.10 13:59. Заголовок: #define HB_SENDRECV_..
цитата: | #define HB_SENDRECV_BUFFER_SIZE 16384 т.е. сейчас пакет не может быть больше 16К ? |
| Это размер пакетов, на которые socket - функции разбивают исходный пакет.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 1411
Зарегистрирован: 12.09.06
|
|
Отправлено: 09.07.10 14:01. Заголовок: Pasha пишет: В связ..
Pasha пишет: цитата: | В связи с этим возникает соблазн сделать аналог файлового доступа через leto: fopen - fread - fclose. Мне было бы достаточно доступа только на чтение, но неизбежно возникнет соблазн сделать и аналог fwrite. В связи с этим вопрос: а стоит ли ? Сделать то это легко, но надо ли ? |
| Нужно ОБЯЗАТЕЛЬНО ! Я еще в начале просил это делать ! Пример из практики, принесли базу из отдела соц.защиты, кто получает деньги... (порядка 30 000 записей, бывает больше). Нужно в программу Субсидии (базы на сервере) удалить старые записи и добавить эти новые ! Задача в лоб - программа перебрасывает записи с клиента на сервер 4 часа !!! Это не моя программа, на Delphi7 написана, работает через SocketServer Дельфовый... Такие задачи встречаются постоянно !!! Если на сервер можно записать ZIP-файл, там его распаковать и добавить через APPEND FROM - прошло бы меньше времени ! На вскидку минут 10 - 15. НАДО !!!
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 1412
Зарегистрирован: 12.09.06
|
|
Отправлено: 09.07.10 14:10. Заголовок: alkresin пишет: Тол..
alkresin пишет: цитата: | Только, может, аналоги не fopen и Co, а memoread/memowrite, это проще и, наверное, достаточно. |
| Нет не пойдет ! Давайте полностью !!! Файлы форм *.FR3 тоже хочу хранить на сервере ! Обновление EXE файла на клиентских местах ХОЧУ тоже делать через LetoDB !!! ----------------------------------------------------------------------------------------------------------------------- Лучше 3 дня учиться и за 5 минут долететь !!! (Фраза из мультика "Ноги и крылья" )
|
|
|
AlexMyr
|
| |
Пост N: 15
Зарегистрирован: 11.06.10
|
|
Отправлено: 09.07.10 14:29. Заголовок: alkresin пишет: Тол..
alkresin пишет: цитата: | Только что открыл на Sourceforge новый проект - Leto DB Server - https://sourceforge.net/projects/letodb Это мультиплатформенный ( Windows, Unix/Linux ) сервер баз данных, предоставляющий клиентским программам доступ к dbf/cdx файлам, находящимся на удаленном сервере |
| Вроде начиналось все с сервера баз данных, а сейчас уже смотрим в сторону файл-сервера, потом захотим принт-сервер Andrey пишет: цитата: | Такие задачи встречаются постоянно !!! Если на сервер можно записать ZIP-файл, там его распаковать и добавить через APPEND FROM - прошло бы меньше времени ! На вскидку минут 10 - 15. |
| А хто будет распаковывать на сервере? letodb? Letodb как раз для таких задач как добавить, отредактировать, удалить запись и тд. И будет наверное быстрей добавить записи нежели тащить на сервер тяжелый zip, распаковать и добавить записи. А потом чтобы не засорять сервер еще надо будет удалить этот zip.
|
|
|
alkresin
|
| moderator
|
Пост N: 384
Зарегистрирован: 06.07.06
|
|
Отправлено: 09.07.10 14:35. Заголовок: Файлы форм *.FR3 тож..
цитата: | Файлы форм *.FR3 тоже хочу хранить на сервере ! |
| А зачем для этого полный набор файловых функций ? Разве недостаточно с сервера забрать эту форму целиком с помощью предполагаемой leto_memoread() ? цитата: | Обновление EXE файла на клиентских местах ХОЧУ тоже делать через LetoDB !!! |
| В этих целях я себе отдельный сервер сделал, назвал - letofc. В ini - файле на сервере храню названия программ как имена секций и в каждой секции - список каталогов и файлов, используемых этой программой. При присоединении к серверу клиент сообщает имя программы и получает в ответ список файлов с датами/временем их создания и запрашивает обновившиеся.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 1415
Зарегистрирован: 12.09.06
|
|
Отправлено: 09.07.10 17:51. Заголовок: alkresin пишет: В э..
alkresin пишет: цитата: | В этих целях я себе отдельный сервер сделал, назвал - letofc. В ini - файле на сервере храню названия программ как имена секций и в каждой секции - список каталогов и файлов, используемых этой программой. При присоединении к серверу клиент сообщает имя программы и получает в ответ список файлов с датами/временем их создания и запрашивает обновившиеся. |
| А поподробнее ? Хочу пример .... Заранее спасибо !!!
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 1416
Зарегистрирован: 12.09.06
|
|
Отправлено: 09.07.10 17:52. Заголовок: AlexMyr пишет: А хт..
AlexMyr пишет: цитата: | А хто будет распаковывать на сервере? letodb? |
| А свои процедуры на что ? Сделаю свою процедуру и прикручу к серверу !
|
|
|
Pasha
|
| Администратор
|
Пост N: 1575
Зарегистрирован: 23.05.05
|
|
Отправлено: 09.07.10 18:36. Заголовок: alx_on пишет: Вылож..
alx_on пишет: Александр, а зачем вы поменяли формат в leto_Sum ? sprintf(ptr, "%lu", pSums[ usIndex ].value.lSum); Ведь это не ULONG, а LONG, знак потеряется
|
|
|
|
Pasha
|
| Администратор
|
Пост N: 1576
Зарегистрирован: 23.05.05
|
|
Отправлено: 09.07.10 19:04. Заголовок: Правильнее будет %ld..
Правильнее будет %ld А в строке 3007 изменение существенно ? Это была ошибка ? USHORT i = 0; на USHORT i = 1;
|
|
|
alx_on
|
| постоянный участник
|
Пост N: 87
Зарегистрирован: 07.07.09
|
|
Отправлено: 09.07.10 23:16. Заголовок: Pasha пишет: sprint..
Pasha пишет: цитата: | sprintf(ptr, "%lu", pSums[ usIndex ].value.lSum); Ведь это не ULONG, а LONG, знак потеряется |
| не ту версию выложил :( правил предупреждения при компиляции (был совсем странный вариант %d) цитата: | А в строке 3007 изменение существенно ? Это была ошибка ? |
| ошибка не критическая (возвращала больше на одну запись)
|
|
|
Pasha
|
| Администратор
|
Пост N: 1578
Зарегистрирован: 23.05.05
|
|
Отправлено: 12.07.10 09:07. Заголовок: alx_on пишет: ошибк..
alx_on пишет: цитата: | ошибка не критическая (возвращала больше на одну запись) |
| Т.е, память выделялась на 10 записей, а возвращалось 11. Правда, запись как правило занимает меньший размер при передаче, так что обычно памяти хватало. Но все-таки, в каких-то случаях могло и не хватить, хорошо что заметили
|
|
|
alx_on
|
| постоянный участник
|
Пост N: 88
Зарегистрирован: 07.07.09
|
|
Отправлено: 12.07.10 09:10. Заголовок: К вопросу о фильтрах..
К вопросу о фильтрах совместно с SCOPE Глючит :( Самое интересное - в новом варианте (MT) все работает (по крайней мере, в найденном случае) Смотрю...
|
|
|
Pasha
|
| Администратор
|
Пост N: 1579
Зарегистрирован: 23.05.05
|
|
Отправлено: 12.07.10 09:14. Заголовок: А что глючит ? Я не ..
А что глючит ? Я не замечал. Хотя у меня сервер собран через xHarbour
|
|
|
Ответов - 316
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|