Исключить из транзакции....???
Можно ли (вроде как-то можно..) исключить отдельные запросы из транзакции? Т.е. чтобы их результаты сохранялись независимо от COMMIT\ROLLBACK...
ну дык это... токмо в другой сессии (или из-под другого соединения, если угодно)... открой параллельно другой коннекшн и из-под него выполняй свои запросы без транзакций
а вообще о каком сервере БД идет речь и каким набором компонентов ты к нему подключаешься (ну, там, ADO, BDE и пр.)
Не катит. Я использую временные таблицы (которые, собственно и надо исключить).
В теории времянки не должны попадать в транзакцию, но при переработке больших обьёмов вылетают непонятные ошибки(связанные с транзакцией) именно на них. А больше там ничего и не пишется... Строчка вначале и пара в конце. Я хотел транзакцию вобще убрать, но тогда пропадают и времянки (кстати, никто не знает, в чём дело? Вроде не должно такого быть...)
Работаю с M$_SQL.2000 через ADO, но SQL-запросами..
Не катит. Я использую временные таблицы (которые, собственно и надо исключить).
В теории времянки не должны попадать в транзакцию, но при переработке больших обьёмов вылетают непонятные ошибки(связанные с транзакцией) именно на них. А больше там ничего и не пишется... Строчка вначале и пара в конце. Я хотел транзакцию вобще убрать, но тогда пропадают и времянки (кстати, никто не знает, в чём дело? Вроде не должно такого быть...)
Работаю с M$_SQL.2000 через ADO, но SQL-запросами..
Временные таблицы используются, чтобы обеспечить дополнительное функционирование интерфейса программы или они действительно связаны с функционированием базы? Если для интерфейса, то лучше отказаться от этого, и найти способ проще.
В теории изменения во временных таблицах участвуют в транзакции без каких либо исключений.
Автономные транзакции существуют в Oracle (9i), думаю в M$_SQL.2000 тоже что то подобное есть
К сожалению проще способы слишком медленные... Во много раз.. А при больших обьёмах это уж слишком заметно...
Автономные транзакции существуют в Oracle (9i), думаю в M$_SQL.2000 тоже что то подобное есть
Насколько я знаю, Oracle времянки в транзакции не включает.. Да и это будет следующая история.. :-(
Насколько я знаю, Oracle времянки в транзакции не включает.. Да и это будет следующая история.. :-(
CREATE GLOBAL TEMPORARY TABLE intrans
(
f VARCHAR2
)
ON COMMIT PRESERVE ROWS
в этом случае создается темп таблица, строки ктр удалятся после окончания сессии, вероятно и данные поддерживаются транзакцией.
CREATE GLOBAL TEMPORARY TABLE outtrans (
f VARCHAR2
)
ON COMMIT DELETE ROWS
в этом случае создается темп таблица, строки ктр удаляются после каждого commit, поэтому данные не поддерживаются транзакцией.