Конференция "Базы" » FIBPLUS как можно организовать работу с 2 базами [FB 1.5.4]
 
  • wipr (10.07.08 22:19) [0]
    Если я помещаю на форму 2 компонента pFIBDatabase и подключаюсь к ним, то все нормально. Но как только открываю запросы в обеих базах, так возникает ошибка (... :Transaction is active). У каждого компонента pFIBDataSet свой компонент pFIBTransaction1. Как избавиться от этой ошибки.
  • ПРавильный^Вася (10.07.08 22:25) [1]

    > свой компонент pFIBTransaction1

    точно свой? а номер почему одинаковый?
  • Johnmen © (10.07.08 22:26) [2]
    Изучить, что такое и для чего нужны транзакции и как с ними работать.
  • wipr (10.07.08 22:39) [3]
    > свой компонент pFIBTransaction1
    1 не удалил при копировании из буфера.

    Схема, которая используется прекрасно работает с компонентами BDE, а вот с FIBPLUS не работает
  • Правильный^Вася (10.07.08 22:40) [4]

    > прекрасно работает с компонентами BDE

    бде создает транзакции неявно
  • wipr (10.07.08 22:48) [5]
    имеется
    1) pFIBDatabase1, pFIBTransaction1, pFIBDataSet1
    2) pFIBDatabase2, pFIBTransaction2, pFIBDataSet2
    открываем pFIBDataSet1, полет нормальный, открываем pFIBDataSet2 - ошибка (... :Transaction is active), при закрытии данного приложения выдается ошибка (Runtime error 216 at 00403E22)
  • Правильный^Вася (10.07.08 22:49) [6]
    проверь связки компонентов между собой
    есть подозрение, что что-то пересеклось
  • wipr (10.07.08 22:52) [7]
    проверял несколько раз все нормально, по одиночки работает все правильно, даже если одну из веток удалить. Если бы были пересечения, то при удалении одной из веток были бы проблемы (по очереди удалял обе ветки).
  • Sergey13 © (11.07.08 08:28) [8]
    > [7] wipr   (10.07.08 22:52)

    А сервер случаем не embedded? Вроде у меня как то было нечто подобное.

  • > запросы в обеих базах,

    или все-таки таблицах?
  • Поросенок Винни-Пух © (11.07.08 09:48) [10]
    одна из транзакций (читающая или пишущая) у обеих pFIBDatabase общая.
    вот и косяк
  • wipr (11.07.08 21:51) [11]
    я установил
    1) pFIBDatabase1 (DefaultTransaction - pFIBTransaction_DB1), pFIBTransaction1, pFIBDataSet1
    2) pFIBDatabase2 (DefaultTransaction - pFIBTransaction_DB2), pFIBTransaction2, pFIBDataSet2
    ошибка осталась


    > одна из транзакций (читающая или пишущая) у обеих pFIBDatabase
    > общая.
    > вот и косяк

    я это все понимаю, но как избавиться от косяка? вот вопрос.
  • Поросенок Винни-Пух © (11.07.08 22:39) [12]
    У датабазы две дефолтных транзакции.
    Читающая и пишущая.
    По-русски же было написано.
  • wipr (13.07.08 17:21) [13]
    Ну я так и делал
    1) pFIBDatabase1 (DefaultTransaction - pFIBTransaction_DB1), pFIBTransaction1, pFIBDataSet1
    2) pFIBDatabase2 (DefaultTransaction - pFIBTransaction_DB2), pFIBTransaction2, pFIBDataSet2
  • wipr (13.07.08 17:45) [14]
    Все оказалось проще. У меня установлена версия 6.8, в данной версии есть такой глюк. В версии 6.8.5 эта ошибка исправлена.
  • Поросенок Винни-Пух © (14.07.08 09:14) [15]
    pFIBDatabase1 (DefaultTransaction - pFIBTransaction_DB1

    а

    pFIBDatabase1.DefaultUpdateTransaction где?
 
Конференция "Базы" » FIBPLUS как можно организовать работу с 2 базами [FB 1.5.4]
Есть новые Нет новых   [134434   +27][b:0][p:0]