Страница 1 из 1

Клиент на Си под Linux

Добавлено: 31 окт 2005, 15:32
STEEL
Приветствую!
Тыкните пальцем на мануал чтоли, по написанию клиентской части под линуксом, собираюсь писать на С. Есть у кого подобный опыт, если не сложно, покажите код. Ранее работал с FIBS, IBX

Добавлено: 31 окт 2005, 15:40
Dimitry Sibiryakov
Ну, если не слаб, то RTFM ApiGuide.pdf.

Re: Клиент на Си под Linux

Добавлено: 01 ноя 2005, 14:38
freemanzav
STEEL писал(а):Приветствую!
Тыкните пальцем на мануал чтоли, по написанию клиентской части под линуксом, собираюсь писать на С. Есть у кого подобный опыт, если не сложно, покажите код. Ранее работал с FIBS, IBX
Лучшая библиотека имхо IBPP. Пример работы с ней - FBCopy. Все есть на ibase.ru (вроде)

Добавлено: 02 ноя 2005, 23:45
STEEL
Ну нада начать с того, что ApiGuide.pdf уже давно устарел, мало того, что там предлагают юзать функции, которые в последних ibase.h давно неактуальны, так ещё и с 2001 года объвлены некорректно работающими. Кто-нибудь юзает ibpp ?
stdint.h: No such file or directory
Странно, почему этой библиотеки нет в FreeBSD 4.11, это конечно я исправлю, если дело только в ней.

Добавлено: 03 ноя 2005, 08:10
freemanzav
STEEL писал(а): Кто-нибудь юзает ibpp ?
Я вовсю

Добавлено: 08 ноя 2005, 00:49
Serj
STEEL писал(а):Ну нада начать с того, что ApiGuide.pdf уже давно устарел, мало того, что там предлагают юзать функции, которые в последних ibase.h давно неактуальны, так ещё и с 2001 года объвлены некорректно работающими.
И что же там так устарело, что аж невозможно работать с базой? Просвяти, а?
STEEL писал(а): Кто-нибудь юзает ibpp ?
stdint.h: No such file or directory
Странно, почему этой библиотеки нет в FreeBSD 4.11, это конечно я исправлю, если дело только в ней.
Это не бсд виновата, это в gcc входит - почему его у тебя нет - хз, в Пингвине точно есть. А вообще написать свою обертку для работы с базой - дело одной - двух недель. С перерывами на кофе и девочек (с).

Re: Клиент на Си под Linux

Добавлено: 17 ноя 2005, 17:01
mapnn
STEEL писал(а):Приветствую!
Тыкните пальцем на мануал чтоли, по написанию клиентской части под линуксом, собираюсь писать на С. Есть у кого подобный опыт, если не сложно, покажите код. Ранее работал с FIBS, IBX

IBPP, ib_api++

Свою обёртку за 2 недели не напишешь - это сказки.
За 3-6 месяцев - можно.

Заглядывай ко мне на http://www.sinn.ru/~mapnn , я скоро
выложу исходники IBAdm for Linux - если интересно поквыряться 8)

Добавлено: 20 ноя 2005, 20:19
Ancient DOOMer
Здравствуйте! :)
Я пишу веб-проект 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;
С нетерпением жду ответа эксперта :)

Добавлено: 21 ноя 2005, 10:45
kdv
Я так понял в этом моменте может случиться чтото страшное? Просветите пож-та
я не понял, откуда ты это взял. и параметры твоей транзакции странные, и вынуждают задать вопрос - www.ibase.ru/devinfo/ibtrans.htm читал?

Добавлено: 21 ноя 2005, 12:23
Ancient DOOMer
kdv писал(а):
Я так понял в этом моменте может случиться чтото страшное? Просветите пож-та
я не понял, откуда ты это взял. и параметры твоей транзакции странные, и вынуждают задать вопрос - www.ibase.ru/devinfo/ibtrans.htm читал?
Извиняюсь. Проблема со счетчиком транзакции упоминалась в другом топике:
http://forum.ibase.ru/phpBB2/viewtopic.php?t=1417
eugeney писал(а):
mirfut писал(а):Какие могут быть подводные камни или общие рекомендации, при написании приложений на Delphi + FIBPlus + Firebird + тонкие клиенты
web приложение пишите?
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. Вообщем сплошные вопросы :(

Добавлено: 21 ноя 2005, 13:25
kdv
Извиняюсь. Проблема со счетчиком транзакции упоминалась в другом топике:
Проблема? На сегодняшний день такая "проблема" есть только в одной системе. У них 2 миллиарда номеров транзакций заканчиваются за месяц, то есть они вынуждены каждый месяц делать restore.
Рекомендую поупражняться в вычислениях и поделить 2 миллиарда на 30 дней, чтобы определить, сколько у них стартует транзакций в сутки. :)
Других систем с аналогичным поведением я даже близко не знаю.
это же мануал вроде для начинающих.
да? :) тогда откуда такая неуверенность сквозит в вопросах про транзакции и их параметры? :)

Re: Клиент на Си под Linux

Добавлено: 24 ноя 2005, 00:59
Serj
mapnn писал(а): Свою обёртку за 2 недели не напишешь - это сказки.
За 3-6 месяцев - можно.
:P
Напишешь - уж базовую функциональность точно. Если с наворотами - тогда дольше, но не 6 месяцев. Хотя, если ты имел ввиду, что с 0 изучая при этом API - хммм... все зависит от количство пива и девочек :)

Добавлено: 24 ноя 2005, 12:43
Ancient DOOMer
kdv писал(а): ...
Других систем с аналогичным поведением я даже близко не знаю.
Спасибо что просветили :) Понял, что проблемы нет )
да? :) тогда откуда такая неуверенность сквозит в вопросах про транзакции и их параметры? :)
Я всю жизнь писал только для виндов проги всякие. Инетпрограммирование область для меня новая, отсюда и неуверенность ))
Вроде все получается.
Единственное что меня беспокоит: Мой проект основан на IBPP, смогу ли я сделать сборку под FreeBSD? Т.е. решаются ли проблемы компиляции IBPP под фрюшкой. Эта либа вроде только для виндов и линукса сделана. С юниксами еще дела не имел, скоро придется изучать.

Добавлено: 25 ноя 2005, 00:58
Serj
Ancient DOOMer писал(а): Единственное что меня беспокоит: Мой проект основан на IBPP, смогу ли я сделать сборку под FreeBSD? Т.е. решаются ли проблемы компиляции IBPP под фрюшкой. Эта либа вроде только для виндов и линукса сделана. С юниксами еще дела не имел, скоро придется изучать.
Если Дима там не сильно извращался - то должна собраться - разве что с дефайнами повозишься.
Я в свое время ее собрать не смог - пришлось писать на голом апи, а потом свою собственную обертку - не столь навороченнуюЮ но для моих нужд (CGI) - вполне подошла.

Добавлено: 18 дек 2005, 20:06
Ancient DOOMer
Сборку удалось сделать под FreeBSD. Поставил в IBPP define на DARWIN (MacOS) потому-что говорят что мак на фри основан ) Все собралось )
Осталось испытать мою прогу на веб-сервере под фрюшкой )