Клиент на Си под Linux
Модератор: kdv
Клиент на Си под Linux
Приветствую!
Тыкните пальцем на мануал чтоли, по написанию клиентской части под линуксом, собираюсь писать на С. Есть у кого подобный опыт, если не сложно, покажите код. Ранее работал с FIBS, IBX
Тыкните пальцем на мануал чтоли, по написанию клиентской части под линуксом, собираюсь писать на С. Есть у кого подобный опыт, если не сложно, покажите код. Ранее работал с FIBS, IBX
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
-
- Сообщения: 14
- Зарегистрирован: 01 ноя 2005, 14:32
Re: Клиент на Си под Linux
Лучшая библиотека имхо IBPP. Пример работы с ней - FBCopy. Все есть на ibase.ru (вроде)STEEL писал(а):Приветствую!
Тыкните пальцем на мануал чтоли, по написанию клиентской части под линуксом, собираюсь писать на С. Есть у кого подобный опыт, если не сложно, покажите код. Ранее работал с FIBS, IBX
Ну нада начать с того, что ApiGuide.pdf уже давно устарел, мало того, что там предлагают юзать функции, которые в последних ibase.h давно неактуальны, так ещё и с 2001 года объвлены некорректно работающими. Кто-нибудь юзает ibpp ?
stdint.h: No such file or directory
Странно, почему этой библиотеки нет в FreeBSD 4.11, это конечно я исправлю, если дело только в ней.
stdint.h: No such file or directory
Странно, почему этой библиотеки нет в FreeBSD 4.11, это конечно я исправлю, если дело только в ней.
-
- Сообщения: 14
- Зарегистрирован: 01 ноя 2005, 14:32
И что же там так устарело, что аж невозможно работать с базой? Просвяти, а?STEEL писал(а):Ну нада начать с того, что ApiGuide.pdf уже давно устарел, мало того, что там предлагают юзать функции, которые в последних ibase.h давно неактуальны, так ещё и с 2001 года объвлены некорректно работающими.
Это не бсд виновата, это в gcc входит - почему его у тебя нет - хз, в Пингвине точно есть. А вообще написать свою обертку для работы с базой - дело одной - двух недель. С перерывами на кофе и девочек (с).STEEL писал(а): Кто-нибудь юзает ibpp ?
stdint.h: No such file or directory
Странно, почему этой библиотеки нет в FreeBSD 4.11, это конечно я исправлю, если дело только в ней.
Re: Клиент на Си под Linux
STEEL писал(а):Приветствую!
Тыкните пальцем на мануал чтоли, по написанию клиентской части под линуксом, собираюсь писать на С. Есть у кого подобный опыт, если не сложно, покажите код. Ранее работал с FIBS, IBX
IBPP, ib_api++
Свою обёртку за 2 недели не напишешь - это сказки.
За 3-6 месяцев - можно.
Заглядывай ко мне на http://www.sinn.ru/~mapnn , я скоро
выложу исходники IBAdm for Linux - если интересно поквыряться
-
- Сообщения: 4
- Зарегистрирован: 20 ноя 2005, 20:05
Здравствуйте!
Я пишу веб-проект CGI на С++ с использованием Firebird на основе библиотеки IBPP. Нужна будет поддержка 50 пользователей.
Очень хотелось бы узнать как может кончиться счетчик транзакций? Честно говоря не въехал
Вот так создаю транзакцию на каждый ХТТП запрос:
tr = IBPP::TransactionFactory(db, IBPP::amWrite, IBPP::ilConcurrency, IBPP::lrWait);
tr->Start();
Я так понял в этом моменте может случиться чтото страшное? Просветите пож-та
И еще момент. В планах стоит сборка бинарника под FreeBSD. Я попросил друга сделать мне сборку. Но у него не компилился IBPP. Он только в Линуксе собирается?
Сильно смотрю в сторону InterBase programming interface которй входит в комплект сервера Firebird. Остановило то, что не понял как можно выдрать текст возникшей ошибки. В примерах делается просто:
if (isc_start_transaction(status, &trans, 1, &DB, 0, NULL))
{
ERREXIT(status, 1)
}
где ERREXIT(status, 1) это isc_print_status(status); return rc;
С нетерпением жду ответа эксперта
Я пишу веб-проект CGI на С++ с использованием Firebird на основе библиотеки IBPP. Нужна будет поддержка 50 пользователей.
Очень хотелось бы узнать как может кончиться счетчик транзакций? Честно говоря не въехал
Вот так создаю транзакцию на каждый ХТТП запрос:
tr = IBPP::TransactionFactory(db, IBPP::amWrite, IBPP::ilConcurrency, IBPP::lrWait);
tr->Start();
Я так понял в этом моменте может случиться чтото страшное? Просветите пож-та
И еще момент. В планах стоит сборка бинарника под FreeBSD. Я попросил друга сделать мне сборку. Но у него не компилился IBPP. Он только в Линуксе собирается?
Сильно смотрю в сторону InterBase programming interface которй входит в комплект сервера Firebird. Остановило то, что не понял как можно выдрать текст возникшей ошибки. В примерах делается просто:
if (isc_start_transaction(status, &trans, 1, &DB, 0, NULL))
{
ERREXIT(status, 1)
}
где ERREXIT(status, 1) это isc_print_status(status); return rc;
С нетерпением жду ответа эксперта
я не понял, откуда ты это взял. и параметры твоей транзакции странные, и вынуждают задать вопрос - www.ibase.ru/devinfo/ibtrans.htm читал?Я так понял в этом моменте может случиться чтото страшное? Просветите пож-та
-
- Сообщения: 4
- Зарегистрирован: 20 ноя 2005, 20:05
Извиняюсь. Проблема со счетчиком транзакции упоминалась в другом топике:kdv писал(а):я не понял, откуда ты это взял. и параметры твоей транзакции странные, и вынуждают задать вопрос - www.ibase.ru/devinfo/ibtrans.htm читал?Я так понял в этом моменте может случиться чтото страшное? Просветите пож-та
http://forum.ibase.ru/phpBB2/viewtopic.php?t=1417
потому и спросилeugeney писал(а):web приложение пишите?mirfut писал(а):Какие могут быть подводные камни или общие рекомендации, при написании приложений на Delphi + FIBPlus + Firebird + тонкие клиенты
1. Проблемма быстро заканчивается счетчик транзакций, решение использование пула коннектов.
Ну все что найдеш по web приложениям с FB
"tr = IBPP::TransactionFactory(db, IBPP::amWrite, IBPP::ilConcurrency, IBPP::lrWait);" - в эту строчку честно гря еще не вникал. Выдрал из примера какогото, оказ-ся у меня в снапшоте транзакция ) надо в ридкоммитед переделать.
"www.ibase.ru/devinfo/ibtrans.htm читал?" - это же мануал вроде для начинающих. С FB/IB несколько лет работаю. Несколько проектов написал, но в виндах в С++Builder на основе компонентов IBX.
Сейчас вот учусь работать с БД с исп-ем IBPP. Но думаю лучше свои обертки переписать на API-шник FB. Вообщем сплошные вопросы
Проблема? На сегодняшний день такая "проблема" есть только в одной системе. У них 2 миллиарда номеров транзакций заканчиваются за месяц, то есть они вынуждены каждый месяц делать restore.Извиняюсь. Проблема со счетчиком транзакции упоминалась в другом топике:
Рекомендую поупражняться в вычислениях и поделить 2 миллиарда на 30 дней, чтобы определить, сколько у них стартует транзакций в сутки.
Других систем с аналогичным поведением я даже близко не знаю.
да? тогда откуда такая неуверенность сквозит в вопросах про транзакции и их параметры?это же мануал вроде для начинающих.
Re: Клиент на Си под Linux
mapnn писал(а): Свою обёртку за 2 недели не напишешь - это сказки.
За 3-6 месяцев - можно.
Напишешь - уж базовую функциональность точно. Если с наворотами - тогда дольше, но не 6 месяцев. Хотя, если ты имел ввиду, что с 0 изучая при этом API - хммм... все зависит от количство пива и девочек
-
- Сообщения: 4
- Зарегистрирован: 20 ноя 2005, 20:05
Спасибо что просветили Понял, что проблемы нет )kdv писал(а): ...
Других систем с аналогичным поведением я даже близко не знаю.
Я всю жизнь писал только для виндов проги всякие. Инетпрограммирование область для меня новая, отсюда и неуверенность ))да? тогда откуда такая неуверенность сквозит в вопросах про транзакции и их параметры?
Вроде все получается.
Единственное что меня беспокоит: Мой проект основан на IBPP, смогу ли я сделать сборку под FreeBSD? Т.е. решаются ли проблемы компиляции IBPP под фрюшкой. Эта либа вроде только для виндов и линукса сделана. С юниксами еще дела не имел, скоро придется изучать.
Если Дима там не сильно извращался - то должна собраться - разве что с дефайнами повозишься.Ancient DOOMer писал(а): Единственное что меня беспокоит: Мой проект основан на IBPP, смогу ли я сделать сборку под FreeBSD? Т.е. решаются ли проблемы компиляции IBPP под фрюшкой. Эта либа вроде только для виндов и линукса сделана. С юниксами еще дела не имел, скоро придется изучать.
Я в свое время ее собрать не смог - пришлось писать на голом апи, а потом свою собственную обертку - не столь навороченнуюЮ но для моих нужд (CGI) - вполне подошла.
-
- Сообщения: 4
- Зарегистрирован: 20 ноя 2005, 20:05