On-line: Andrey, PSP, гостей 0. Всего: 2 [подробнее..]
АвторСообщение
Pasha
Администратор




Пост N: 2416
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.06.12 18:14. Заголовок: Leto DB Server (продолжение 8)


Немного доработал документацию к letodb

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


Andrey
постоянный участник




Пост N: 2256
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.06.12 20:16. Заголовок: Pasha пишет: Немног..


Pasha пишет:

 цитата:
Немного доработал документацию к letodb



Спасибо.

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



Пост N: 67
Зарегистрирован: 12.07.06
ссылка на сообщение  Отправлено: 26.06.12 09:11. Заголовок: Ошибка при создании индекса


Использую CDX
Если в индексом выражении используется фунция Doy(), получаю ошибку:
Error LETO/1001 Неизвестная функция: e:\Sou.may\Letodb\Data\letomay\oplata

INDEX ON Doy(dtopl) TO oplata


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




Пост N: 2419
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 26.06.12 09:27. Заголовок: alex_II пишет: Если..


alex_II пишет:

 цитата:
Если в индексом выражении используется фунция Doy(), получаю ошибку:



DOY - это функция из ct. Сервер естественно собран без этой функции, как и без любых других специфических функций, которые могут встречаться в индексных выражениях.

Добавьте в source\server.prg строку:

request doy

В этой строке перечислите все необходимые Вам функции, и пересоберите сервер.
В скрипт сборки сервера (letodb.hbp) в этом случае необходимо будет включить библиотеку hbct, и (возможно) другие
сторонние библиотеки:

-lhbct


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



Пост N: 68
Зарегистрирован: 12.07.06
ссылка на сообщение  Отправлено: 26.06.12 09:38. Заголовок: Спасибо, буду пробов..


Спасибо, буду пробовать

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



Пост N: 69
Зарегистрирован: 12.07.06
ссылка на сообщение  Отправлено: 26.06.12 10:36. Заголовок: Библиотеку hbct подк..


Библиотеку hbct подключил подправив файл makefile.bc и всё заработало.
Через скрипт сборки сервера letodb.hbp не хватило тяму.
Pasha можно пример на пальцах в студию?

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




Пост N: 2421
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 26.06.12 10:51. Заголовок: alex_II пишет: Pash..


alex_II пишет:

 цитата:
Pasha можно пример на пальцах в студию?



Сделайте батник сборки:

set path=%path%;d:\bcc55\bin
\harbour\bin\win\bcc\hbmk2 letodb.hbp
\harbour\bin\win\bcc\hbmk2 rddleto.hbp

или

set path=%path%;d:\mingw32\bin
\harbour\bin\win\mingw\hbmk2 letodb.hbp
\harbour\bin\win\mingw\hbmk2 rddleto.hbp

или

set path=%path%;d:\mingw64\bin
\harbour\bin\win\mingw64\hbmk2 letodb.hbp
\harbour\bin\win\mingw64\hbmk2 rddleto.hbp


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



Пост N: 70
Зарегистрирован: 12.07.06
ссылка на сообщение  Отправлено: 26.06.12 11:27. Заголовок: Пардон, но я имел вв..


Пардон, но я имел ввиду другое
Как в файле letodb.hbp описывать дополнительные библиотеки
Ниже приведено содержимое этого файла

-inc
-obin/letodb
-iinclude
-n -w -q0 -es2
#-warn=max
-prgflag={unix}-D__LINUX_DAEMON__
-prgflag={unix}-D__LINUX__
#-prgflag={win}-D__WIN_DAEMON__
-prgflag={win}-D__WIN_SERVICE__
-cflag={allmsvc}-D_CRT_SECURE_NO_DEPRECATE
-cflag={win}-D__WIN_SERVICE__
-gui
-mt

source/server/server.prg
source/server/errorsys.prg
source/server/errint.c
{unix}source/server/leto_lnx.c
{win}source/server/leto_win.c
source/server/letoacc.c
source/server/letovars.c
source/server/letofunc.c
source/server/leto_2.c

source/common/blowfish.c
source/common/common_c.c
#source/common/hbip.c
source/common/common.prg

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




Пост N: 2422
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 26.06.12 11:55. Заголовок: Просто добавить стро..


Просто добавить строку:

-l<имя библиотеки>

в произвольное место этого скрипта, лучше перед списком модулей

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



Пост N: 71
Зарегистрирован: 12.07.06
ссылка на сообщение  Отправлено: 26.06.12 12:09. Заголовок: Понял, спасибо..


Понял, спасибо

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



Пост N: 524
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 26.06.12 17:20. Заголовок: варнинги... ../../...


варнинги...

../../../../source/client/leto1.c:1816:24: warning: 'pData' may be used uninitialized in this function [-Wuninitialized]
../../../../source/client/leto1.c:1829:12: warning: 'uiKeyLen' may be used uninitialized in this function [-Wuninitialized]
...
../../../../source/server/letofunc.c:6110:10: warning: 'pArea' may be used uninitialized in this function [-Wuninitialized]

Инфа:
Letodb
/* $Id: Changelog,v 1.350.2.68 2012/06/22 14:17:23 ptsarenko Exp $ */

Harbour
Version: Harbour 3.2.0dev (Rev. 17728)
Compiler: MinGW GNU C 4.6.2 (32-bit)
Platform: Windows XP 5.1.2600 Service Pack 3

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




Пост N: 2423
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 26.06.12 18:17. Заголовок: AlexMyr пишет: варн..


AlexMyr пишет:

 цитата:
варнинги...

../../../../source/client/leto1.c:1816:24: warning: 'pData' may be used uninitialized in this function [-Wuninitialized]
../../../../source/client/leto1.c:1829:12: warning: 'uiKeyLen' may be used uninitialized in this function [-Wuninitialized]
...
../../../../source/server/letofunc.c:6110:10: warning: 'pArea' may be used uninitialized in this function [-Wuninitialized]



Да я эти варнинги знаю давно, не знаю как их убрать. Компилятор не может раскрутить сложную логику, и видит неинициализированные переменные, хотя по алгоритму они инициализируются в любом случае.
А рабочий алгоритм переписывать не хочется.
Я кое-что поправил для custom-индексов, вызовы OrdKeyAdd, OrdKeyDel

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




Пост N: 2424
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 26.06.12 18:28. Заголовок: У меня есть предложе..


У меня есть предложение к уже использующим letodb. Прочтите документацию (readme.txt), какая она есть в нынешнем виде, и попробуйте в ней что-нибудь дополнить. Может быть, там не отражен какой-то момент, который был существенным для вас. Можно дополнить какой-либо раздел, или создать новый.
Это было бы полезно тем, кто только планирует использовать этот продукт.
Выкладывать можно сюда. На русском или английском языке.

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



Пост N: 525
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 27.06.12 09:55. Заголовок: 1. Пункт 2.5 (readme..


1.
Пункт 2.5 (readme.txt) гласит, что при сборке letodb можно собрать и тесты опция -target, НО для этого нужен файл hbmk.hbm в папке letodb с таким содержимым:

rddleto.hbc

без этого файла тесты не соберутся.

2.
Нужно добавить, что letodb для windows может быть собран в двух вариантах - 1) служба, 2) демон (процесс). И по умолчанию letodb собирается как служба, из чего вытекает, что letodb надо установить как службу, и потом ее запустить.



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



Пост N: 526
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 27.06.12 10:03. Заголовок: 3. 5. Соединен..


3.
5. Соединение с сервером клиентских программ

Чтобы сконнектиться с сервером, прежде всего необходимо прилинковать rddleto.lib (Windows)
или librddleto.a (Linux) к своему приложению ...

предлагаю упростить:

Чтобы сконнектиться с сервером, прежде всего необходимо прилинковать библиотеку rddleto
к своему приложению ...

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




Пост N: 2426
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 27.06.12 21:47. Заголовок: Спасибо, добавил в д..


Спасибо, добавил в доку. Меня удивило, что сервер еще можно собрать как демон под Windows. Сам я это не делал, с тех пор как была добавлена поддержка службы.

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



Пост N: 74
Зарегистрирован: 12.07.06
ссылка на сообщение  Отправлено: 02.07.12 10:29. Заголовок: Не могу переименоват..


Не могу переименовать файл
В ini-файле сервера указан путь: DataPath = e:\Sou.may\Letodb\Data
В программе указан путь: Path_Dbf := '//localhost:2812/LetoMay/'

Leto_Frename(Path_Dbf+'zar1.dbf', Path_Dbf+'zar3.dbf') возвращает -1
Leto_Frename(Path_Dbf+'zar1.dbf', 'zar3.dbf') отрабатывает и переносит файл на уровень вверх в папку Data

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



Пост N: 528
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 02.07.12 11:56. Заголовок: alex_II пишет: Не м..


alex_II пишет:

 цитата:
Не могу переименовать файл


Читаем readme.txt или readme_rus.txt п.5, из последнего выдержка:

Если задан параметр 'DataPath' в конфигурационном файле сервера, и он имеет
непустое значение, необходимо указывать не полный путь к файлу на сервере,
а путь относительный ( относительно значению 'DataPath' ).
Например, если необходимо открыть файл test.dbf, который расположен на
сервере 192.168.5.22 в каталоге /data/mydir и значение параметра 'DataPath'
( в файле конфигурации сервере letodb.ini ) '/data', синтаксис должен быть
таким:

USE "//192.168.5.22:2812/mydir/test"

Если сервер не запущен или Вы указали неверный путь, будет сгенерирована ошибка открытия.
Возможно проверить доступность сервера перед открытием файлов вызовом функции
leto_Connect( cAddress ), которая вернет -1 в случае неудачной попытки:

IF leto_Connect( "//192.168.5.22:2812/mydir/" ) == -1
Alert( "Can't connect to server ..." )
ENDIF

Я думаю тут все ясно.

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



Пост N: 75
Зарегистрирован: 12.07.06
ссылка на сообщение  Отправлено: 02.07.12 12:52. Заголовок: Ничего не ясно Перем..


Ничего не ясно
Переменная
Path_Dbf := '//localhost:2812/LetoMay/'
как раз и описывает относительный путь и цитирование лишний раз файла readme понимания ситуации не добавляет.
Если я неверно описываю путь доступа к файлу, почему тогда без ошибок отрабатывают другие функции:
Leto_File(Path_Dbf+'zar.dbf')
Leto_Ferase(Path_Dbf+'zar.dbf')
?

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



Пост N: 529
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 02.07.12 12:59. Заголовок: alex_II пишет: и ц..


alex_II пишет:

 цитата:
и цитирование лишний раз файла readme понимания ситуации не добавляет.

потому как мало кто его читает
Дайте самодостаточный пример и конкретно где лежат файлы из Вашего поста выше не ясно

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




Пост N: 2428
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.07.12 13:31. Заголовок: alex_II пишет: Не м..


alex_II пишет:

 цитата:
Не могу переименовать файл
В ini-файле сервера указан путь: DataPath = e:\Sou.may\Letodb\Data
В программе указан путь: Path_Dbf := '//localhost:2812/LetoMay/'

Leto_Frename(Path_Dbf+'zar1.dbf', Path_Dbf+'zar3.dbf') возвращает -1



2-й параметр надо указывать без строки коннента, т.е:
Path_Srv := '//localhost:2812'
Path_Dbf := '/LetoMay/'

Leto_Frename(Path_Srv + Path_Dbf+'zar1.dbf', Path_Dbf+'zar3.dbf')


 цитата:
Leto_Frename(Path_Dbf+'zar1.dbf', 'zar3.dbf') отрабатывает и переносит файл на уровень вверх в папку Data



Так и должно быть, поскольку все файловые операции на сервере выполняются относительно DataPath


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