On-line: MIKHAIL, Alex_Cher, гостей 1. Всего: 3 [подробнее..]
АвторСообщение
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: 2636
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.02.13 01:57. Заголовок: Pasha пишет: Можно ..


Pasha пишет:

 цитата:
Можно создать в проекте папки doc\en, doc\ru, и туда выкладывать описание функций по разделам, примерно как это сделано в contrib\hbct\doc, файловые функции как раз пойдут в letofile.txt


Когда появиться дока хотя бы на русском ?
Пытаюсь пользоваться letodb-2.09-win
Пока тормоз полнейший по хХарбору. Переписал lib.xharbour\rddleto.lib в xHarbour\lib, include в xHarbour\include
Пытаюсь собрать пример \letodb-2.09-win\tests\test_var.prg, выдает ошибку:
Error: Unresolved external '_hb_setGetAutOrder' referenced from Z:\XHARBOUR\LIB\RDDLETO.LIB|leto1
Error: Unresolved external '_hb_arraySetCL' referenced from Z:\XHARBOUR\LIB\RDDLETO.LIB|leto1
Error: Unresolved external '_hb_arraySetND' referenced from Z:\XHARBOUR\LIB\RDDLETO.LIB|leto1
Error: Unresolved external '_hb_arraySetDS' referenced from Z:\XHARBOUR\LIB\RDDLETO.LIB|leto1
Error: Unresolved external '_hb_arraySetL' referenced from Z:\XHARBOUR\LIB\RDDLETO.LIB|leto1
Error: Unresolved external '_hb_arraySetNL' referenced from Z:\XHARBOUR\LIB\RDDLETO.LIB|leto1
Error: Unresolved external '_hb_setGetDeleted' referenced from Z:\XHARBOUR\LIB\RDDLETO.LIB|leto1
Error: Unresolved external '_hb_arraySetC' referenced from Z:\XHARBOUR\LIB\RDDLETO.LIB|letomgmn
Error: Unresolved external '_hb_arraySetNInt' referenced from Z:\XHARBOUR\LIB\RDDLETO.LIB|letomgmn
Error: Unresolved external '_hb_arraySetDL' referenced from Z:\XHARBOUR\LIB\RDDLETO.LIB|letomgmn
Error: Unresolved external '_hb_itemReturnRelease' referenced from Z:\XHARBOUR\LIB\RDDLETO.LIB|letomgmn


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




Пост N: 2680
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.02.13 08:25. Заголовок: Andrey пишет: Когда..


Andrey пишет:

 цитата:
Когда появится дока хотя бы на русском ?



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


 цитата:
Пытаюсь пользоваться letodb-2.09-win
Пока тормоз полнейший по хХарбору. Переписал lib.xharbour\rddleto.lib в xHarbour\lib, include в xHarbour\include
Пытаюсь собрать пример \letodb-2.09-win\tests\test_var.prg, выдает ошибку:



Все ошибки связаны со стандартными функциями xHarbour из vm.lib. Проверьте свои правила сборки, эта библиотека должна быть указана. Она обязательна для сборки любой xHarbour-программы, не только использующей rddleto.


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




Пост N: 2638
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.02.13 09:48. Заголовок: Pasha пишет: Все ош..


Pasha пишет:

 цитата:
Все ошибки связаны со стандартными функциями xHarbour из vm.lib. Проверьте свои правила сборки, эта библиотека должна быть указана. Она обязательна для сборки любой xHarbour-программы


Любая другая программа собирается.

xHarbour Compiler build 1.0.0 (SimpLex)
собираю стандартно, через - HBMAKE test_var.bc
Скрытый текст


makefile.lnk
Скрытый текст

Менял положение rddleto.lib и в начале и в конце, ошибка та же.

Pasha я понимаю что вопрос у меня тупой (не собирается и все тут), но я сейчас пытаюсь для новичков составить инструкцию работы на LetoDB. Пока начал с хХарбора.
А то у нас получается что LetoDb используют только "продвинутые программеры" ...


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


Пост N: 825
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 09.02.13 10:28. Заголовок: Может проблема в уст..


Может проблема в установке "MT = NO"?

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




Пост N: 2639
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.02.13 10:51. Заголовок: PSP пишет: Может пр..


PSP пишет:

 цитата:
Может проблема в установке "MT = NO"?



Поставил MT = YES, не помогает ....


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




Пост N: 2681
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.02.13 11:34. Заголовок: rddleto.lib из letod..


rddleto.lib из letodb-2.09-win был собран для xHarbour SVN bcc55
У Вас наверняка другая версия xHarbour. rddleto.lib должен быть совместим с ней, если она конечно не очень древняя.
Но лучше пересобрать rddleto.lib своим xHarbour, все-таки время от времени в api вносятся изменения, которые приводят к несовместмости.
Что касается этих ошибок линкера, то поищите в vm.lib например строку "_hb_itemReturnRelease" (можно любую из списка).
Если она есть, то сборка должна выполняться, надо копаться в правилах сборки. Если нет, или имя функции немного другое, к примеру без символа '_': просто "hb_itemReturnRelease", то однозначно надо пересобирать rddleto.lib


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



Пост N: 48
Зарегистрирован: 19.12.06
ссылка на сообщение  Отправлено: 21.02.13 20:59. Заголовок: Использует ли кто DB..


Использует ли кто DBFNTX с мемо полями и файлом .dbt ?
Я глянул в исходники,
в leto1. letoRddInfo() похоже для мемо забит только .fpt

case RDDI_MEMOEXT:
hb_itemPutC( pItem, ".fpt" );
break;

Можно ли это поправить, или это не приведет к ошибке ?


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




Пост N: 2697
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 21.02.13 21:41. Заголовок: k_dima пишет: Можно..


k_dima пишет:

 цитата:
Можно ли это поправить ?



Традиционно со времен клиппера считается, что DBFNTX работает с форматои dbf, а DBFCDX - с fpt.
В Харборе и DBFNTX, и DBFCDX понимает как dbt, так и fpt мемо-файл. Формат memo не привязан к формату индекса.
И в letodb можно работать и с форматом dbt, и с fpt
Настройка RDDI_MEMOEXT - это используемый формат memo по умолчанию. Для DBFNTX/DBFCDX эту настройку можно изменять, для letodb - нельзя.
Кстати, если вызвать:

hb_rddinfo(RDDI_MEMOEXT,, "DBFNTX")

результат будет ".dbt"

Вызов

hb_rddinfo(RDDI_MEMOEXT,, "DBFCDX")

дает пустую строку.

Сейчас

hb_rddinfo(RDDI_MEMOEXT,, "LETO")

возвращает ".fpt". Это ни на что не влияет, но конечно немного некорректно. Можно было бы анализировать, с каким драйвером работает по умолчанию сервер letodb. и для DBFNTX возвращать ".ntx", а в случае DBFCDX - непонятно. То ли ".fpt", то ли для совместимости тоже пустую строку.
Для полной совместимости конечно можно в letodb тоже дать возможность задавать эту настройку, но с клиента это делать было бы некорректно, так как один клиент смог бы влиять на настройки другого. Можно добавить настройку формата memo по умолчанию в letodb.ini.
Какие будут соображения ?

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



Пост N: 726
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 21.02.13 22:56. Заголовок: Если не задана настр..


Если не задана настройка формата memo в letodb.ini, то возвращать логически ожидаемое для DBFCDX - fpt, DBFNTX - dbt, если задан формат, то это значение.

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




Пост N: 2700
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.02.13 00:39. Заголовок: Pasha пишет: У Вас ..


Pasha пишет:

 цитата:
У Вас наверняка другая версия xHarbour. rddleto.lib должен быть совместим с ней, если она конечно не очень древняя.


xHarbour не очень древний, всего 1.0.0
Но вот на нем и не собирался. Перешел на версию 1.2.1 - все нормально собирается.

Вот открыл примеры в папке tests - всего 4 примера...
Так и получается что LetoDb предназначен для профи !
В доках конечно описано многое, но вот примеров как правильно делать нет...
Хотя бы простого, с обработкой ошибок открытия, созданием базы (обработка ошибки создания), поиском, фильтрацией...
Ну блин не пойдет такой продукт в массы...
Почему так об этом пишу:
D:\@TEST_LETODB\PRG>test_var.exe

Connect to //127.0.0.1:2812/temp/test - Ok

Adding 'var_int' = 100 to [main] - Err (3)
Adding 'var_int' = 100 to [main] - Ok
Adding 'var_log' = .T. to [main] - Ok
Adding 'var_char' = 'Just a small test;' to [main] - Ok

Ну нет у меня такой папки - temp/test, а пишет что все Ok...
Собрано на хХарборе 1.2.1

Народ, дайте хоть исходник любой как надо работать с LetoDb ....



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


Пост N: 837
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 27.02.13 09:10. Заголовок: Андрей, для начала п..


Андрей, для начала посмотри что в letodb.ini присвоено в DataPath
К примеру, файл BaseName.dbf лежит в c:\work\dbf
Делаем в letodb.ini:
DataPath=c:\work
в программе:
USE "//127.0.0.1:2812/dbf/BaseName.dbf"
Если, к примеру, тот же файл лежит на компе с адресом 192.168.0.100,
то в программе: USE "//192.168.0.100:2812/dbf/BaseName.dbf" (соответственно, на компе 192.168.0.100 должен быть запущен сервер letodb и брандмауэр/антивирусник должен разрешать серверу letodb общение с внешним миром)


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




Пост N: 2698
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 27.02.13 10:56. Заголовок: Andrey пишет: Вот о..


Andrey пишет:

 цитата:
Вот открыл примеры в папке tests - всего 4 примера...
Так и получается что LetoDb предназначен для профи !
В доках конечно описано многое, но вот примеров как правильно делать нет...
Хотя бы простого, с обработкой ошибок открытия, созданием базы (обработка ошибки создания), поиском, фильтрацией...
Ну блин не пойдет такой продукт в массы...



Андрей, у нас же уже был подобный разговор. Все эти действия - обработка ошибок, создание (dbCreate), поиск, фильтрация и прочее выполняются точно так же, как и для стандартных rdd харбора, DBFNTX/DBFCDX
Приводить примеры стандартных операций для rdd в описании letodb бессмыссленно. Это необходимое условие использования letodb. Если програмист с этим не знаком, то ему надо сначала выучить язык. А для опытного клиппериста такие проблемы выглядят странно.


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

Ну не "догоняю" я пока простых вещей...



Описание
"Если сервер не запущен или Вы указали неверный путь, будет сгенерирована ошибка открытия. "
вырвано из контекста и относится к команде use, а не к leto_connect, которая только проверяет доступность сервера и коннектится с ним.
Насколько я понимаю, с коннектом уже проблем нет. А с чем тогда есть ? С созданием папки ? Это что, очень сложно ?


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




Пост N: 142
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.02.13 11:25. Заголовок: Andrey пишет:Народ, ..


Andrey пишет:
 цитата:
Народ, дайте хоть исходник любой как надо работать с LetoDb


Пример:

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



Пост N: 730
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 27.02.13 11:47. Заголовок: Andrey пишет: Народ..


Andrey пишет:

 цитата:
Народ, дайте хоть исходник любой как надо работать с LetoDb ....

А чем не устраивают те, которые идут вместе с LetoDB?

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




Пост N: 2701
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.02.13 23:39. Заголовок: AlexMyr пишет: А че..


SergKis пишет:

 цитата:

Пример:


Спасибо БОЛЬШОЕ ! Буду разбираться...

AlexMyr пишет:

 цитата:
А чем не устраивают те, которые идут вместе с LetoDB?



Потому что не понятно как LetoDB работает ....
Запустил LetoDb.exe на Win8 с тупизмом присущим 8-ке, через батник. Установил как службу.
D:\@TEST_LETODB\letodb.ini
[MAIN]
Port=2812
Log=letodb.log
DataPath=D:\@TEST_LETODB\DATA

Служба запущена нормально:
D:\@TEST_LETODB\letodb.log
02/27/13 10:45:22: Leto DB Server has been started.
Leto DB Server v.2.09 ! INIT: DataPath=D:\@TEST_LETODB\DATA, ShareTables=0, MaxUsers=500, MaxTables=5000, CacheRecords=10


Собираю на хХарборе 1.2.1 пример test_var.exe, запускаю:
D:\@TEST_LETODB\PRG>test_var.exe

Connect to //127.0.0.1:2812/temp/test - Ok

Adding 'var_int' = 100 to [main] - Err (3)
Adding 'var_int' = 100 to [main] - Ok
Adding 'var_log' = .T. to [main] - Ok
Adding 'var_char' = 'Just a small test;' to [main] - Ok

Ну нет у меня такой папки - temp/test, а пишет что все Ok...

У меня возращает - Connect to //127.0.0.1:2812/temp/test - Ok
Это правило действует ТОЛЬКО на удаленные адреса ?
На локальном компе ошибка генерироваться будет или нет ?
Может 8-ка тупит ?

Далее создаю еще папку D:\@TEST_LETODB\DATA\MyDir
Делаю свой пример:
Function Main
Local cPath := "//127.0.0.1:2812/mydir"
Local lRes
......
// создаю 2-тестовые базы....

Не могу создать базы, вешается программа - мертво с системной ошибкой...
Ссылка на пример и ошибка, приведена выше !

Pasha пишет:

 цитата:
Андрей, у нас же уже был подобный разговор. Все эти действия - обработка ошибок, создание (dbCreate), поиск, фильтрация и прочее выполняются точно так же, как и для стандартных rdd харбора,


Может был, уже и не помню. Простите меня, памяти не хватает на все. С чем столкнулся, о том и пишу...

Pasha пишет:

 цитата:
вырвано из контекста и относится к команде use, а не к leto_connect, которая только проверяет доступность сервера и коннектится с ним.
Насколько я понимаю, с коннектом уже проблем нет. А с чем тогда есть ? С созданием папки ? Это что, очень сложно ?


Понял, спасибо. Видать по доке ошибся...
Коннект есть.
Папку ручками создал.

Не могу создать файл DBF в папке MyDir !
Где и что не так делаю ?
Как проверить, что можно в папке на сервере создать файл ?

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



Пост N: 736
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 28.02.13 09:32. Заголовок: Andrey пишет: Ну не..


Andrey пишет:

 цитата:
Ну нет у меня такой папки - temp/test, а пишет что все Ok...

У меня возращает - Connect to //127.0.0.1:2812/temp/test - Ok

И правильно пишет, что ОК, это значит, что Вы успешно присоединились к серверу по ip адресу 127.0.0.1, на порту 2812. А /temp/... это уже где искать базы.
В вашем случае temp/test не папка, а файл test в папке temp. Сначала попробуйте test_ta.prg покрутить.

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



Пост N: 737
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 28.02.13 09:33. Заголовок: Andrey пишет: Далее..


Andrey пишет:

 цитата:
Далее создаю еще папку D:\@TEST_LETODB\DATA\MyDir
Делаю свой пример:
Function Main
Local cPath := "//127.0.0.1:2812/mydir"
Local lRes
......
// создаю 2-тестовые базы....

Не могу создать базы, вешается программа - мертво с системной ошибкой...
Ссылка на пример и ошибка, приведена выше !


Правильно будет
Local cPath := "//127.0.0.1:2812/mydir/"

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




Пост N: 2702
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.02.13 13:12. Заголовок: AlexMyr пишет: Прав..


AlexMyr пишет:

 цитата:
Правильно будет
Local cPath := "//127.0.0.1:2812/mydir/"


Поправил, все равно "ВЕШАЕТСЯ" программа ...
Исходник и сборка здесь - http://files.mail.ru/29A0DCDAC71941ADB959D116726D9521
Что я не так делаю ?

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




Пост N: 2701
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 28.02.13 13:23. Заголовок: Andrey пишет: Что я..


Andrey пишет:

 цитата:
Что я не так делаю ?



Мне кажется, надо все-таки пересобрать rddleto.lib своей версией xHarbour.
Я выкладывал сборку этой библиотеки с xHarbour SVN, и она может быть несовместима с более ранней версией xHarbour.

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




Пост N: 2703
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.02.13 14:13. Заголовок: Спасибо.Понял. Буду ..


Спасибо.Понял. Буду пробовать.


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