Автор | Сообщение |
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
[только новые]
|
|
Dima
|
| |
Пост N: 1670
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.05.10 22:50. Заголовок: leo Такой же вопрос..
leo Такой же вопрос можно задать и про ADS. Лучше всего попробовать самому Leto DB Server.
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 61
Зарегистрирован: 15.09.05
|
|
Отправлено: 27.05.10 23:54. Заголовок: Уже 5 месяцов
Привет Всем ! Уже 5 месяцов как 3 из моих клиентов перешли на мою новую версию бухучета пока никаких проблем не замечено Я использую MiniGUI Ext + Harbour + LetoDB + RPC функциональност от HBNETIO Есть серверная часть , в которой включен сервер с HBNETIO , и мой RPC функции . Заоодно етот модуль управляет и LetoDB ( Start , Stop , Manager.exe , просмотр Log файла и т.д.) ну и Клиент Моя программа зовется "АЛМА" я даже в честь етого сервера новую версию окрестил "АЛМА ЛЕТО"
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 62
Зарегистрирован: 15.09.05
|
|
Отправлено: 28.05.10 02:19. Заголовок: Interesno
alx_on Я большой фанат МАКОВ , у меня Хакинтош (ASUS P5QL-PRO , C2D7200 , GF9500 , Leopard 10.5.8) все работает без проблем наверное год и Macbook Pro 17'' У тебя программа консольная на МАКЕ или что то другое ?
|
|
|
alx_on
|
| постоянный участник
|
Пост N: 42
Зарегистрирован: 07.07.09
|
|
Отправлено: 28.05.10 02:41. Заголовок: sashaBG Harbour + ..
sashaBG Harbour + ( QT + HbQt ) Win,Linux,MacOSX
|
|
|
alx_on
|
| постоянный участник
|
Пост N: 43
Зарегистрирован: 07.07.09
|
|
Отправлено: 28.05.10 09:15. Заголовок: alkresin Александр,..
alkresin Александр, помогите плз разобраться. Может у Вас появится идея. У нас сейчас активно тестируется работа с LetoDB (сервер на win) и стабильно раз в день (два раза через день) лето падает. Причем в самых неожиданных местах. Тестеров 5-10 человек. Одновременно открытых таблиц (на всех) 15-200. Например, одно место: Скрытый текст Unrecoverable error 6005: Exception error: %s Exception Code:C0000005 Exception Address:004AAB64 EAX:00000000 EBX:0137BF3C ECX:013F38BC EDX:00000000 ESI:013F39C0 EDI:0000000D EBP:003D66E4 CS:EIP:001B:004AAB64 SS:ESP:0023:01B8F910 DS:0023 ES:0023 FS:003B GS:0000 Flags:00010202 CS:EIP: 0F B7 04 78 89 2C 24 01 D0 89 44 24 04 E8 0A 78 SS:ESP: 003D66E4 018E4604 01B8FC60 004E1B37 018C4B74 01B9147C 01B914DC 004E1B37 01B914DC 00000008 01B8FC60 0000000A 00000000 003C653C 01B99535 0000000F Command: ord;02;18949;opdate;29579;
| Я нашел это место - оказалось в драйвере CDX (последний harbour из SVN) в функции hb_dbfGetValue() Скрытый текст case HB_FT_DATE: if( pField->uiLen == 3 ) { hb_itemPutDL( pItem, HB_GET_LE_UINT24( pArea->pRecord + pArea->pFieldOffset[ uiIndex ] ) ); } else if( pField->uiLen == 4 ) { hb_itemPutDL( pItem, HB_GET_LE_UINT32( pArea->pRecord + pArea->pFieldOffset[ uiIndex ] ) ); } else { hb_itemPutDS( pItem, ( char * ) pArea->pRecord + pArea->pFieldOffset[ uiIndex ] ); <---- GPF!!! при попытке взять "pArea->pFieldOffset[ uiIndex ]" } break;
| Но при таком же тесте в течении 2-3 дней без лето ничего не падает.
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 63
Зарегистрирован: 15.09.05
|
|
Отправлено: 28.05.10 11:06. Заголовок: alx_on У меня тоже ..
alx_on У меня тоже такое случалось когда собираю LetoDB с версиями после 2.0.0 поетому я пока его собираю с Harbour 2.0.0 ChangeLog 13372 и не падает
|
|
|
alx_on
|
| постоянный участник
|
Пост N: 46
Зарегистрирован: 07.07.09
|
|
Отправлено: 28.05.10 11:11. Заголовок: alkresin пишет: доп..
alkresin пишет: цитата: | дополнительные ( не compound ) индексы использую только как временные, для одного сеанса работы и не разделяю их с другими экземплярами программы |
| У меня это, к сожалению, норма Т. е. индексы всегда хранятся отдельно от таблиц (в отдельном каталоге) и они открываются принудительно каждый раз при открытии таблиц
|
|
|
alx_on
|
| постоянный участник
|
Пост N: 47
Зарегистрирован: 07.07.09
|
|
Отправлено: 28.05.10 11:18. Заголовок: sashaBG пишет: Harb..
sashaBG пишет: цитата: | Harbour 2.0.0 ChangeLog 13372 |
| Почему именно эта ревизия?
|
|
|
alkresin
|
| moderator
|
Пост N: 284
Зарегистрирован: 06.07.06
|
|
Отправлено: 28.05.10 13:32. Заголовок: alx_on пишет: У нас..
alx_on пишет: цитата: | У нас сейчас активно тестируется работа с LetoDB (сервер на win) и стабильно раз в день (два раза через день) лето падает. |
| В связи с тем, что сказал sashaBG, может, стоит попробовать откомпилировать сервер с другой версией Harbour ... У меня сейчас работают с letodb сервером 25 - 35 пользователей, 10 - 15 разных приложений, 40 - 60 dbf файлов. До недавнего времени использовал letodb от августа 2009, он практически не падал, было, пожалуй 2 таких случая за полгода. Когда недели 2-3 назад перешел на последнюю ( с CVS ) версию letodb, он стал падать раз в несколько дней, причем, как я заметил, это обычно происходило во время присоединения нового пользователя, и, как мне кажется, в том случае, если это Windows станция и пользователь запускал программу сразу после включения компьютера, как только появлялся рабочий стол, не дожидаясь полного окончания загрузки Windows. Я так и не понял пока, отчего это могло происходить. Сделал несколько мелких правок в hbip.c b letofunc.c ( Changelog 2010-05-25 11:40 UTC+0300 ), теперь жду результата, за прошедшие 3 дня еще ( тьфу-тьфу ) не падал. Я нашел еще одно место, которое потенциально может вызывать проблемы. Как вы знаете, в letodb сервере 2 потока. Один слушает сеть, опрашивает открытые сокеты, принимает с них информацию, анализирует команды и выполняет те из них, которые можно обработать на чистом С, без вызова RDD и прочих Harbour level функций, работающих с vm, стеком. 2-й поток обрабатывает остальные команды. Так вот, сейчас первый поток вызывает и функцию leto_CloseUS() - закрытие клиента, которая, если есть еще у него незакрытые areas, закрывает их, т.е. выполняет действия, предназначеннные для 2-го потока, что теоретически может вызвать неприятные коллизии. Это может происходить, если вы "убиваете" пользователя из manage или если связь с ним по какой-то причине внезапно обрывается ( при нормальном завершении задачи Harbour сам закрывает открытые areas и такого не происходит ).
|
|
|
alkresin
|
| moderator
|
Пост N: 285
Зарегистрирован: 06.07.06
|
|
Отправлено: 28.05.10 13:40. Заголовок: ( В продолжение к пр..
( В продолжение к предыдущему ) Ну и, раз у вас индексы открываются так, как вы описали, то, учитывая эту ошибку в hs_openindex, даже не представляю, как оно вообще у вас работает...
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 64
Зарегистрирован: 15.09.05
|
|
Отправлено: 28.05.10 13:41. Заголовок: Stable
alx_on Я не такой спец в C и поетому не стал копть в GPF а просто вернулся на stable версию Harbour с www.harbour-project.org Да конечно и мне тоже хочется скомпилировать все одной и той же весрии Harbour . Может господин Кресин действительно поможет !
|
|
|
|
alx_on
|
| постоянный участник
|
Пост N: 48
Зарегистрирован: 07.07.09
|
|
Отправлено: 28.05.10 13:54. Заголовок: alkresin пишет: даж..
alkresin пишет: цитата: | даже не представляю, как оно вообще у вас работает... |
| Я вообще не представлял что оно будет на работать на маке, но ведь работает хотя в коде есть конкретные вставки только под win и linux (я не вникал что там, приоритет пока на вин-платформу) по поводу индексов: просто переоткрывает и память переинициализирует (вопрос насколько корректно?) цитата: | стоит попробовать откомпилировать сервер с другой версией Harbour |
| не могу - многое завязано на новой версии (например, HbQT) Может это быть связано с массовой переделкой типов (ULONG на HB_MAXINT и т.д.)? цитата: | если связь с ним по какой-то причине внезапно обрывается |
| вот, кстати, по поводу связи: если хоть на миг связь прерывается (например, комп почти успел уйти в сон, но почти успели двинуть мышой ), то все соединения с лето на клиенте рвутся (соответственно ни работать дальше нельзя, ни закрыть нормально, куча ошибок выходит на каждую открытую таблицу)
|
|
|
alkresin
|
| moderator
|
Пост N: 286
Зарегистрирован: 06.07.06
|
|
Отправлено: 28.05.10 14:40. Заголовок: alx_on пишет: не мо..
alx_on пишет: цитата: | не могу - многое завязано на новой версии (например, HbQT) |
| Так перекомпилите только сервер, клиенты пусть остаются как есть. цитата: | Может это быть связано с массовой переделкой типов (ULONG на HB_MAXINT и т.д.)? |
| Если вы перекомпилите сервер с другой версией Harbour и он перестанет падать, тогда будет иметь смысл подумать об этом. цитата: | вот, кстати, по поводу связи: если хоть на миг связь прерывается (например, комп почти успел уйти в сон, но почти успели двинуть мышой ), то все соединения с лето на клиенте рвутся |
| Хм.. А что, связь прерывается при уходе в сон ? Я сейчас специально 2 раза вышел при открытой программе в ждущий режим ( через Пуск...Выключение ) - после пробуждения все работало как прежде. А вообще при прерывании связи клиент принудительно отключается, а что еще с ним делать ?
|
|
|
alx_on
|
| постоянный участник
|
Пост N: 49
Зарегистрирован: 07.07.09
|
|
Отправлено: 28.05.10 15:00. Заголовок: alkresin пишет: Есл..
alkresin пишет: цитата: | Если вы перекомпилите сервер с другой версией Harbour |
| Надо будет попробовать. На какой версии остановиться? цитата: | Я сейчас специально 2 раза вышел при открытой программе в ждущий режим |
| странно... у меня все отвалилось цитата: | при прерывании связи клиент принудительно отключается, а что еще с ним делать ? |
| Подождать какое то время, например, и переподключать. Но это так, мечты... PS может быть такая ситуация: на сетевом уровне пакет (строка с командой) пришла не полностью?
|
|
|
alkresin
|
| moderator
|
Пост N: 287
Зарегистрирован: 06.07.06
|
|
Отправлено: 28.05.10 17:17. Заголовок: alx_on пишет: Надо ..
alx_on пишет: цитата: | Надо будет попробовать. На какой версии остановиться? |
| Предлагаю какую-нибудь до появления mt, у меня, например, 1.01 стоит. цитата: | PS может быть такая ситуация: на сетевом уровне пакет (строка с командой) пришла не полностью? |
| Такая ситуация предусмотрена. Сервер опрашивает сокет, пока не обнаружит конца пакета. Сокет отключается и клиент удаляется только в случае если в результате опроса сокета была возвращена ошибка.
|
|
|
alx_on
|
| постоянный участник
|
Пост N: 50
Зарегистрирован: 07.07.09
|
|
Отправлено: 28.05.10 18:11. Заголовок: alkresin пишет: Со..
alkresin пишет: цитата: | Сокет отключается и клиент удаляется |
| Имелось в виду падение сервера, т.е. разбор неполной строки с командой
|
|
|
alx_on
|
| постоянный участник
|
Пост N: 51
Зарегистрирован: 07.07.09
|
|
Отправлено: 28.05.10 19:00. Заголовок: alkresin пишет: Пре..
alkresin пишет: цитата: | Предлагаю какую-нибудь до появления mt, у меня, например, 1.01 стоит |
| Подскажете точные ключи компиляции для винды (чтобы быть уверенным в результате) можно и для linux И плюс для самого лета PS там на компилятор есть ограничение? Я использую mingw почти последний
|
|
|
alkresin
|
| moderator
|
Пост N: 288
Зарегистрирован: 06.07.06
|
|
Отправлено: 28.05.10 19:29. Заголовок: alx_on пишет: Подск..
alx_on пишет: цитата: | Подскажете точные ключи компиляции для винды (чтобы быть уверенным в результате) можно и для linux |
| Я не ставлю никаких своих дополнительных ключей, что есть в стандартных файлах конфигурации, то и использую. То же для лета - один к одному как на CVS. цитата: | PS там на компилятор есть ограничение? Я использую mingw почти последний |
| С mingw не пробовал, ничего не могу сказать. Клиентов я компилирую с Borland 5.5, а сервер у меня на Линукс.
|
|
|
alx_on
|
| постоянный участник
|
Пост N: 52
Зарегистрирован: 07.07.09
|
|
Отправлено: 28.05.10 19:30. Заголовок: sashaBG пишет: соби..
sashaBG пишет: цитата: | собираю с Harbour 2.0.0 ChangeLog 13372 |
| Попробовал с 2.0 Не компиляет! funcleto.h:138: error: redefinition of typedef ‘HB_ERRCODE’ harbour2.0/include/hbapi.h:473: error: previous declaration of ‘HB_ERRCODE’ was here Придется разбираться :)
|
|
|
alkresin
|
| moderator
|
Пост N: 289
Зарегистрирован: 06.07.06
|
|
Отправлено: 28.05.10 19:32. Заголовок: alx_on пишет: Имело..
alx_on пишет: цитата: | Имелось в виду падение сервера, т.е. разбор неполной строки с командой |
| Разбора неполной строки быть не может - протокол предусматривает определение конца пакета и пока этот конец не будет определен, разбор строки не начнется.
|
|
|
Ответов - 316
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|