Автор | Сообщение |
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 на Харборе, ... и вообще все в наших руках :). Кто хочет участвовать в разработке, тестировании - пишите.
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|
Pasha
|
| Администратор
|
Пост N: 1690
Зарегистрирован: 23.05.05
|
|
Отправлено: 14.11.10 10:47. Заголовок: Мне с одного клиента..
Мне с одного клиента надо коннектиться ко многим серверам letodb, в связи с чем ограничение MAX_CONNECTIONS_NUMBER хотелось бы снять. Для этого надо динамически выделять память для letoConnPool. Это лучше всего делать вызовом hb_xrealloc. Но эта функция может переместить область памяти в другое место, и тогда pConnection в AREASTRU будет ссылаться на невыделенную память, что нехорошо. В связи с этим есть предложение: вместо ссылки в AREASTRU хранить индекс uiConnection в letoConnPool. Кстати, подобный возможный баг есть в harbour/contrib/rddsql: если память под s_pConnection перевыделяется, ссылка на pConnection в _SQLBASEAREA может вызвать gpf
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 1581
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.11.10 14:57. Заголовок: Pasha пишет: Мне с ..
Pasha пишет: цитата: | Мне с одного клиента надо коннектиться ко многим серверам letodb |
| А разве так можно ? Что за задачи решаются таким образом ? Поделитесь пожалуйста опытом !
|
|
|
Pasha
|
| Администратор
|
Пост N: 1691
Зарегистрирован: 23.05.05
|
|
Отправлено: 15.11.10 09:19. Заголовок: Да ничего необычного..
Да ничего необычного, предполагается устанавливать letodb в подразделениях, и делать выборки из БД подразделений
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 71
Зарегистрирован: 15.09.05
|
|
Отправлено: 17.11.10 16:31. Заголовок: Как надо использовать COPY TO теперь
Select DVIG COPY TO ( n_Path + 'WORK' ) <<<<<<< где n_Path содержит "//127.0.0.1:2812/FIRMA/2010/01/" дает ошибку по типу данных файл WORK.dbf создается но структура разрушена !? letodb из CVS harbour из поставки MiniGUI 1.9 Раньше работало из с другими версиями Харбора
|
|
|
AlexMyr
|
| |
Пост N: 73
Зарегистрирован: 11.06.10
|
|
Отправлено: 17.11.10 17:10. Заголовок: Какие типы полей в б..
Какие типы полей в базе? Клиентскую и серверную часть letodb пересобирали?
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 72
Зарегистрирован: 15.09.05
|
|
Отправлено: 17.11.10 18:03. Заголовок: Пересобирал
Все пересобирал , типы ( N15,3 C D )
|
|
|
Pasha
|
| Администратор
|
Пост N: 1695
Зарегистрирован: 23.05.05
|
|
Отправлено: 17.11.10 22:24. Заголовок: С xHarbour ошибки не..
С xHarbour ошибки нет С Harbour сервер падает по непонятной причине на строке 5111 в letofunc.c: hb_xfree( pTransInfo->lpTransItems ); Что здесь неправильно - не пойму. Память выделялась - ее надо освободить. sashaBG, AlexMyr, напишите пожалуйста версию Harbour, с которой выполнялась сборка
|
|
|
AlexMyr
|
| |
Пост N: 76
Зарегистрирован: 11.06.10
|
|
Отправлено: 17.11.10 23:12. Заголовок: Только что собрал Le..
|
|
|
Pasha
|
| Администратор
|
Пост N: 1696
Зарегистрирован: 23.05.05
|
|
Отправлено: 17.11.10 23:57. Заголовок: У меня сервер падает..
У меня сервер падает на сборке Harbour * $Id: ChangeLog 15433 2010-09-04 10:30:41Z druzus $ Завтра пересоберу Harbour с SVN и протестирую.
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 73
Зарегистрирован: 15.09.05
|
|
Отправлено: 18.11.10 09:20. Заголовок: test_tr
test_tr собирается но дает ошибку данных на 32 строке и сервер падает
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 74
Зарегистрирован: 15.09.05
|
|
Отправлено: 18.11.10 10:07. Заголовок: Попробовал и Rev.15832
Попробовал и Harbour Rev.15832 Тоже самое , разница в том что когда сервер падает виндовс показывает сообшение "Abnormal programm termination"
|
|
|
|
AlexMyr
|
| |
Пост N: 79
Зарегистрирован: 11.06.10
|
|
Отправлено: 18.11.10 13:56. Заголовок: Тоже test_tr падает ..
Тоже test_tr падает с ошибкой: Error LETO/1000 Data type error Called from LETO_DBCOPY(0) Called from MAIN(32) Error LETO/1000 Data type error Called from LETO_DBCOPY(0) Called from MAIN(32) Error LETO/1000 Data type error Error LETO/1000 Data type error
|
|
|
Pasha
|
| Администратор
|
Пост N: 1701
Зарегистрирован: 23.05.05
|
|
Отправлено: 18.11.10 17:37. Заголовок: Сегодня собрал letod..
Сегодня собрал letodb с SVN Harbour, и результат получился плачевный. manage еще соединяется с сервером, но при попытке работы с ним клиентских программ letodb сразу падает с gpf. Почему - еще не разбирался. Вчера у меня возникло предположение, что в Harbour некоторое время назад были какие-то уже устраненные баги, раз сервер падал на безобидном hb_xfree. Пока мне больше сказать нечего, времени копаться не было.
|
|
|
Pasha
|
| Администратор
|
Пост N: 1702
Зарегистрирован: 23.05.05
|
|
Отправлено: 18.11.10 21:52. Заголовок: Letodb под Harbour у..
Letodb под Harbour у меня заработал после вечерней пересборки. Правда, там чуть напортачили с литовской кодовой страницей. Оператор, из-за которого падает сервер, я пока закомментировал, так что copy to/sort on теперь работает. Но причина падения сервера так и осталась непонятной.
|
|
|
Петр
|
| постоянный участник
|
Пост N: 1001
Зарегистрирован: 09.10.06
|
|
Отправлено: 19.11.10 00:23. Заголовок: 2010-11-18 20:45 UTC..
цитата: | 2010-11-18 20:45 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru) * source/server/letofunc.c * memory leak for sort operation ! temporary hack for Harbour: gpf at hb_xfree( pTransInfo->lpTransItems ) in leto_Trans function |
| Вот так работает hb_xfree( &pTransInfo->lpTransItems ); Добавлено: не все так просто Перекомпилировал Harbour c -DHB_FM_STATISTICS Получаем GPF letodb_crash.log Breakdown at: 2010.11.18 23:48:59 Unrecoverable error 9010: ------------------------------------------------------------------------ User: 127.0.0.1 LEO-HOME test_tr.exe Command: trans;513;2;;F;1026;Code==2;;0;0;F;T;T;F;F;F;F;1;2;1,1;2,2; Table: \test.dbf hb_out.log ------------------------------------------------------------------------ Application Memory Allocation Report - E:\hb2-mingw\bin\test_tr.exe Terminated at: 2010.11.18 23:49:01 Total memory allocated: 60916 bytes (596 block(s)) Warning, memory allocated but not released: 86 bytes (6 block(s)) Block 1 00aaedf8 (size 4) DBCREATE(0), "00000200" Block 2 00aae570 (size 4) DBCREATE(0), "00000000" Block 3 00abc808 (size 23) DBCREATE(0), " 2Second )" Block 4 00abcd10 (size 4) LETO_DBCOPY(0), "00000200" Block 5 00abcd78 (size 4) LETO_DBCOPY(0), "00000000" Block 6 00abcde0 (size 23) LETO_DBCOPY(0), " ;" ------------------------------------------------------------------------
|
|
|
Pasha
|
| Администратор
|
Пост N: 1703
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.11.10 10:42. Заголовок: Но правильно ведь h..
Но правильно ведь hb_xfree( pTransInfo->lpTransItems ); lpTransItems - это ссылка на массив DBTRANSITEM, для которого выделялась память, ее и надо передавать в hb_xfree, а не адресс ссылки. В прочих rdd Harbour так и делается Почему в letodb этот безобидный вызов сваливает сервер - пока не понятно. С DBTRANSINFO работа ведется вроде бы корректно, память не портится. pTransInfo->lpTransItems 2 раза не освобождается, больше никто hb_xfree вызвать не может. Я прямо перед вызовом hb_xfree ставил: leto_writelog(pTransInfo->lpTransItems, pTransInfo->uiItemCount * sizeof( DBTRANSITEM )); и в логе видел правильно заполненный массив DBTRANSITEM Пока какая-то мистика, которой не существует
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 75
Зарегистрирован: 15.09.05
|
|
Отправлено: 23.11.10 19:08. Заголовок: А как себя ведет xHarbour ?
Pasha А как себя ведет xHarbour , есть проблемы такого типа ?
|
|
|
Pasha
|
| Администратор
|
Пост N: 1705
Зарегистрирован: 23.05.05
|
|
Отправлено: 24.11.10 09:36. Заголовок: sashaBG пишет: Pash..
sashaBG пишет: цитата: | Pasha А как себя ведет xHarbour , есть проблемы такого типа ? |
| С xHarbour такой проблемы нет, освобождение памяти работает По поводу проблемы с Harbour: я попросил помощь клуба, т.е. написал в devlist. Но клуб молчит.
|
|
|
alx_on
|
| постоянный участник
|
Пост N: 101
Зарегистрирован: 07.07.09
|
|
Отправлено: 24.11.10 12:52. Заголовок: Pasha пишет: hb_xfr..
Pasha пишет: цитата: | hb_xfree( pTransInfo->lpTransItems ); |
| Подобная проблема была и у меня. Все решилось совсем в другом месте (с другой переменной), неверно память до этого выделялась (т.е. писалась информация за пределами выделенного блока и, видимо, что то портилось в цепочках блоков-памяти) В моем случае это была дозапись признака конца строки ('\0') за конец выделенной памяти - иногда падало совсем в другом месте
|
|
|
Dimidrol
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 03.12.10 14:23. Заголовок: заранее извиняюсь за..
заранее извиняюсь за нубский вопрос. есть ли возможность не указывать host-адрес каждый раз при подключении таблиц бд? то есть не писать в команде USE или функции DBUSEAREA(...) имя или айпи сервера, а указать, например в leto.ini или еще каким другим способом.
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|