| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Базы данных > Изменение БД 2-мя приложениями |
| Автор: php5 26.1.2009, 18:24 |
| Есть приложение которое работает с БД Firebird 2.0 так вот если одновременно запушены 2 приложения и 1-е вносит изменение в БД то 2-е это изменение не видит, но стоит только закрыть 1-е приложение как 2-е приложение эти изменения уже видит . Как решить данную проблему ? |
| Автор: REZiaMIX 26.1.2009, 19:17 |
| Может быть первое приложение не делает commit ? |
| Автор: php5 27.1.2009, 10:38 |
| Ну изменения в БД я вношу так : IBQuery->Close(); IBQuery->SQL->Clear(); IBQuery->SQL->Add(sql); IBQuery->ExecSQL(); Походу ExecSQL() должно закрывать транзакцию , по поводу кэширования то я его явно ни где не включал . У меня идет такая связка компонентов : IBDatabase-> DefaultTransaction= IBTransaction IBQuery-> Database= IBDatabase Где можно посмотреть не включено ли кэширование ? |
| Автор: Fazil6 27.1.2009, 10:49 |
нет. Нужно делать Commit() соответствующей транзакции. Ты ведь можешь делать несколько ExecSQL() и решать когда нужно закомитить изменения должен сам. |
| Автор: php5 27.1.2009, 13:32 |
| Поле того как я вызываю IBTransaction->Commit(); то у IBQuery соединение с базой закрывается , это можно как то исправить ? или нужно делать явно пере подключение |