On 01.07.2011 19:47, A K wrote:
Попробуйте выталкивать изменения не по каждому I\U\D а по коммиту
тр-ции.
А что это изменит? Все равно каждый EXECUTE STATEMENT будет
открывать-закрывать подключение к БД. Только что "подвисать" будет не
каждая операция, а комит транзакции.
Транзакций существенно меньше чем CRUD операций как правило.
Собственно именно так и нужно делать - применять изменения в удаленную
БД на коммите транзакции. Потому что при откате транзакции изменения в
другую базу не попадут, что как правило и нужно. В любом случае без
журнала транзакций, в который пишутся изменения, не обойтись. Требуемые
триггеры для записи в журнал транзакции пишутся автогенерацией через тот
же EXECUTE STATEMENT на основе данных системных таблиц.
Как пример можно посмотреть этот проект http://fibre.sourceforge.net/.
Там более сложный вариант реализован - инкрементальной оффлайн
репликации на базе журнала транзаций.