Автор | Сообщение |
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 на Харборе, ... и вообще все в наших руках :). Кто хочет участвовать в разработке, тестировании - пишите.
|
|
|
Ответов - 325
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
All
[только новые]
|
|
alkresin
|
| moderator
|
Пост N: 67
Зарегистрирован: 06.07.06
|
|
Отправлено: 05.02.08 15:20. Заголовок: Отдельные rdd выделя..
цитата: | Отдельные rdd выделять не будем ? Сделать что-то вроде LetoConnection(...), и в качестве параметра - используемый rdd ? |
| Название rdd, думаю, должно передаваться при открытии файла. Может ведь программа работать и с ntx и с cdx, находящимися на одном сервере ( одном соединении ).
|
|
|
alkresin
|
| moderator
|
Пост N: 68
Зарегистрирован: 06.07.06
|
|
Отправлено: 05.02.08 15:21. Заголовок: Это для текущих сырц..
цитата: | Это для текущих сырцов, как я понимаю ? |
| Да.
|
|
|
alkresin
|
| moderator
|
Пост N: 69
Зарегистрирован: 06.07.06
|
|
Отправлено: 05.02.08 15:34. Заголовок: К разговору о перспе..
К разговору о перспективах: очень заманчиво выглядит возможность использовать это дело для доступа к данным на сервере с мобильного устройства ( КПК, смартфона ). У ADS нет ведь клиентских библиотек для доступа с их серверу, а у нас теперь есть. Лежишь на пляже и проверяешь, сколько тебе зарплаты начислили :), или добавляшь запись в специальную таблицу, а stored proc ее обрабатывает и предпринимает соответствующие действия, например, сообщения рассылает.
|
|
|
Pasha
|
| Администратор
|
Пост N: 786
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.02.08 15:43. Заголовок: Сделать харбор для s..
Сделать харбор для symbian, что ли ? :)
|
|
|
Петр
|
| постоянный участник
|
Пост N: 390
Зарегистрирован: 09.10.06
|
|
Отправлено: 05.02.08 15:53. Заголовок: Выглядит очень заман..
Выглядит очень заманчиво, но, наверное, путь не близкий. Поскольку, к примеру, stored proc - фактически полноценное приложение, я себе смутно представляю, как обеспечить безопасность данных на сервере. Поэтому и о авторизации с привилегиями спрашивал..
|
|
|
alkresin
|
| moderator
|
Пост N: 70
Зарегистрирован: 06.07.06
|
|
Отправлено: 05.02.08 16:04. Заголовок: Сделать харбор для s..
цитата: | Сделать харбор для symbian, что ли ? |
| Харбор уже работает на мобильных устройствах под Windows Mobile. Просто прилинковать Leto RDD и - вперед. Хотя, конечно, надо еще проверить, как оно будет работать с Интернет - соединением.
|
|
|
alkresin
|
| moderator
|
Пост N: 71
Зарегистрирован: 06.07.06
|
|
Отправлено: 05.02.08 16:06. Заголовок: Поскольку, к примеру..
цитата: | Поскольку, к примеру, stored proc - фактически полноценное приложение, я себе смутно представляю, как обеспечить безопасность данных на сервере. |
| Вопрос, конечно, серьезный. Но, с другой стороны, stored proc ведь не любой пользователь помещает, а администратор, он должен знать, что делает.
|
|
|
Петр
|
| постоянный участник
|
Пост N: 391
Зарегистрирован: 09.10.06
|
|
Отправлено: 05.02.08 16:59. Заголовок: alkresin пишет: о, ..
alkresin пишет: цитата: | о, с другой стороны, stored proc ведь не любой пользователь помещает, а администратор, он должен знать, что делает |
| Да, но сервер должен знать, что он именно с администратором общается
|
|
|
alkresin
|
| moderator
|
Пост N: 72
Зарегистрирован: 06.07.06
|
|
Отправлено: 05.02.08 18:23. Заголовок: Это если помещать че..
Это если помещать через клиентскую программу и RDD. А если их может разместить только администратор руками на сервере, а клиент может только запустить на исполнение по имени - это уже другая ситуация.
|
|
|
Pasha
|
| Администратор
|
Пост N: 792
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.02.08 19:30. Заголовок: alkresin пишет: Pas..
alkresin пишет: цитата: | Pasha, я скинул на CVS изменения, чтоб работало со свежим xHarbour, не мог бы проверить ? |
| Все заработало
|
|
|
alkresin
|
| moderator
|
Пост N: 73
Зарегистрирован: 06.07.06
|
|
Отправлено: 05.02.08 20:30. Заголовок: Отлично! Значит, мож..
Отлично! Значит, можно build2 делать.
|
|
|
|
Pasha
|
| Администратор
|
Пост N: 793
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.02.08 20:37. Заголовок: Какая-то проблема с ..
Какая-то проблема с блокировками select order dbAppend() Field->Type:='01' dbcommit() dbunlock() rlock() Field->Stock:='01' dbcommit() dbunlock() вываливается на 2-м коммите Ошибка LETO/1021 Data type error: -015 Алиас ORDER Вызов из DBCOMMIT(0)
|
|
|
Pasha
|
| Администратор
|
Пост N: 794
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.02.08 21:08. Заголовок: Разобрался я с мисти..
Разобрался я с мистическим 5-м файлом :) В индексном выражении было обращение к StrZero. А к серверу эта функция не подлинкована. Добавил Request С этим надо что-то делать. Нужен какой-то джентльменский набор функций. Можно хотя бы взять из описания Ads список поддерживаемых функций, да и еще добавить своих, харборовских :)
|
|
|
Pasha
|
| Администратор
|
Пост N: 795
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.02.08 21:48. Заголовок: Такой набор функций ..
Такой набор функций Request ; ABS,; ALLTRIM,; AT,; CHR,; CTOD,; DATE,; DAY,; DELETED,; DESCEND,; DTOC,; DTOS,; EMPTY,; I2BIN,; L2BIN,; LEFT,; LEN,; LOWER,; LTRIM,; MAX,; MIN,; MONTH,; PAD,; PADC,; PADL,; PADR,; RAT,; RECNO,; RIGHT,; ROUND,; RTRIM,; SPACE,; STOD,; STR,; STRZERO,; SUBSTR,; TIME,; TRANSFORM,; TRIM,; UPPER,; VAL,; YEAR И специфика Ads /* Ads-specific functions Request ; CONTAINS,; COLLATE,; CTOT,; CTOTS,; LOWERW,; NOW,; REVERSE,; STOTS,; TODAY,; TSTOD,; UPPERW */ Добавляем ?
|
|
|
alkresin
|
| moderator
|
Пост N: 74
Зарегистрирован: 06.07.06
|
|
Отправлено: 05.02.08 22:14. Заголовок: Какая-то проблема с ..
цитата: | Какая-то проблема с блокировками |
| Исправил. Добавляем.
|
|
|
Pasha
|
| Администратор
|
Пост N: 796
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.02.08 22:40. Заголовок: Seek ведет себя по-д..
Seek ведет себя по-другому Если тип ключа не совпадает с типом индекса, то dbfcdx просто возвращает .f., а letodb поднимает ошибку
|
|
|
Pasha
|
| Администратор
|
Пост N: 797
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.02.08 22:53. Заголовок: теперь с блокировкам..
теперь с блокировками порядок
|
|
|
Pasha
|
| Администратор
|
Пост N: 798
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.02.08 23:20. Заголовок: На сегодня я иссяк :..
На сегодня я иссяк :) Список багов исчерпан
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 468
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.02.08 00:30. Заголовок: alkresin пишет: что..
alkresin пишет: цитата: | чтоб работало со свежим xHarbour, не мог бы проверить ? |
| Я хочу проверить, но так и не собрал ничего на хХарборе ! Сам ехе-ник letodb.exe собрался, а из папки "manager" не собирается, требует библиотеку 'HBCT.LIB' и сборка сама для HARBOUR'a ...
|
|
|
alkresin
|
| moderator
|
Пост N: 75
Зарегистрирован: 06.07.06
|
|
Отправлено: 06.02.08 10:22. Заголовок: Небольшая инструкция..
Небольшая инструкция по использованию ( по просьбе Андрея ). 1) Сервер предназначен для работы c dbf/cdx файлами ( ntx тоже добавим ), расположенными на севере в локальной сети или Интернете. На своем локальном компьютере его имеет смысл использовать только для проверки и отладки. 2) Чтобы запустить сервер, просто запустите letodb.exe ( letodb - в Linux ) из того каталога, который вы для него выберите. После запуска сервер не создает окна, а просто размещается в памяти, при этом создается запись в letodb.log, расположенном по умолчанию в каталоге, откуда сервер запущен. В этот же лог пишутся сообщения об остановке сервера, о проблемах при открытии/создании dbf, и аварийные сообщения, если сервер вдруг слетит ( не должен :) ). Останавливается сервер командой letodb.exe stop. 3) При необходимости можно создать файл letodb.ini в каталоге запуска сервера ( под Linux - можно еще в /etc ). В настоящее время поддерживаются следующие опции (указаны значения по умолчанию): Port = 2812 - номер порта DataPath = - каталог с базами Log = letodb.ini - путь и имя журнала Lower_Path = 0 - для Linux, 1 - если надо переводить пути и имена файлов в нижний регистр. Если указан DataPath, то он будет добавляться к пути при открытии файла. Например, DataPath = d:\data a открываете файл вы командой USE "192.168.3.5:2812/dbsklad/test" В этом случае сервер будет открывать файл d:\data\dbsklad\test.dbf 4) Чтобы скомпилировать вашу программу для работы с Leto db, надо: a) добавить в список библиотек rddleto.lib b) добавить в программу 2 строчки: REQUEST LETO RDDSETDEFAULT( "LETO" ) в) откорректировать пути к базам с учетом имени/ip сервера и порта. Если у вас в программах пути задаются где-то в одном месте, лучше - в ini файле или в параметрах, передаваемых программе, это сделать легко и просто. В идеальном случае после этого ваша программа должна заработать с Leto db сервером ( у меня почти сразу так и получилось ), в реальном - возможны проблемы, т.к. не все функции еще реализованы. 5) Если вы запустили сервер на локальном компьютере, то путь должен быть: //127.0.0.1:2812/... 6) По утилитам в каталоге utils/manage: bld.bat предназначен для компиляции manage.prg - GUI утилита, для сборки нужен HwGUI. Консольная утилита console.prg собирается вашими стандартными средствами, которыми вы собираете свои одно-файловые программы, надо только добавить rddleto.lib в список библиотек.
|
|
|
Ответов - 325
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
All
[только новые]
|
|