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

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
STEEL
Сообщения: 16
Зарегистрирован: 08 сен 2005, 00:34

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

Сообщение STEEL » 31 окт 2005, 15:32

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

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 31 окт 2005, 15:40

Ну, если не слаб, то RTFM ApiGuide.pdf.

freemanzav
Сообщения: 14
Зарегистрирован: 01 ноя 2005, 14:32

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

Сообщение freemanzav » 01 ноя 2005, 14:38

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

STEEL
Сообщения: 16
Зарегистрирован: 08 сен 2005, 00:34

Сообщение STEEL » 02 ноя 2005, 23:45

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

freemanzav
Сообщения: 14
Зарегистрирован: 01 ноя 2005, 14:32

Сообщение freemanzav » 03 ноя 2005, 08:10

STEEL писал(а): Кто-нибудь юзает ibpp ?
Я вовсю

Serj
Сообщения: 15
Зарегистрирован: 26 окт 2004, 16:40

Сообщение Serj » 08 ноя 2005, 00:49

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

mapnn
Сообщения: 3
Зарегистрирован: 04 дек 2004, 00:49

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

Сообщение mapnn » 17 ноя 2005, 17:01

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

IBPP, ib_api++

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

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

Ancient DOOMer
Сообщения: 4
Зарегистрирован: 20 ноя 2005, 20:05

Сообщение Ancient DOOMer » 20 ноя 2005, 20:19

Здравствуйте! :)
Я пишу веб-проект 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;
С нетерпением жду ответа эксперта :)

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 21 ноя 2005, 10:45

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

Ancient DOOMer
Сообщения: 4
Зарегистрирован: 20 ноя 2005, 20:05

Сообщение Ancient DOOMer » 21 ноя 2005, 12:23

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. Вообщем сплошные вопросы :(

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 21 ноя 2005, 13:25

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

Serj
Сообщения: 15
Зарегистрирован: 26 окт 2004, 16:40

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

Сообщение Serj » 24 ноя 2005, 00:59

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

Ancient DOOMer
Сообщения: 4
Зарегистрирован: 20 ноя 2005, 20:05

Сообщение Ancient DOOMer » 24 ноя 2005, 12:43

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

Serj
Сообщения: 15
Зарегистрирован: 26 окт 2004, 16:40

Сообщение Serj » 25 ноя 2005, 00:58

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

Ancient DOOMer
Сообщения: 4
Зарегистрирован: 20 ноя 2005, 20:05

Сообщение Ancient DOOMer » 18 дек 2005, 20:06

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

Ответить