Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > Работа с БД через Интернет


Автор: Aftor1707 24.6.2011, 14:11
Здравствуйте. Проблема в следующем: есть приложение, работающее с базой данных по локалке (C++ Builder XE, firebird 2.1). Для работы с базой использовал компаненты FIBPlus 7.0.15.
Нужно сделать, чтобы приложение могло работать с БД через интернет. проблема в том, что коннект слабый и имеют место частые разрывы. Подскажите, как это можно организовать.

Автор: borisbn 25.6.2011, 08:47
Цитата(Aftor1707 @  24.6.2011,  14:11 Найти цитируемый пост)
проблема в том, что коннект слабый и имеют место частые разрывы

не вижу большой проблемы... не получилось прочитать/записать - проверяешь, есть ли connect к БД (что-нить типа isConnected()). Есть - повторяй чтение/запись, нет - делай переконнект к БД.
Ты скажи, ты уже пробовал и наткнулся на проблемы (тогда какие?) ? Или просто узнаёшь про возможные подводные камни ? Я их не вижу (во всяком случае больших и серьёзных).

Автор: Aftor1707 30.6.2011, 09:26
Есть маленькая проблемка. На дисконнект реакция следующая:

void __fastcall TData_Module::pFibErrorHandler1FIBErrorEvent(TObject *Sender, EFIBError *ErrorValue,
          TKindIBError KindIBError, bool &DoRaise)
{
if(KindIBError = keLostConnect) {
   DoRaise = false;
   ShowMessage("Потеря соединения");
   Database->WaitForRestoreConnect=2000;
   Database->Connected = true;
   if (Database->Connected==False) {
     pFibErrorHandler1FIBErrorEvent(Sender,ErrorValue,keLostConnect,DoRaise);
   }
  }
}

После переподключения пытаюсь выполнить StoredProc, Указываю имя процедуры 

Data_Module->Proc_Insert->StoredProcName = "SP_MEMO_TRANSFER_I";

но SQL запрос на выполнение сам не генерится. как его заполнить можно программно?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)