В Python, Используя pyodbc, Как Вы Выполняете Транзакции?

Лучшая версия правильного ответа в SWIFT

var tempSet = NSMutableOrderedSet()
if parent!.subItems != nil {
    tempSet = NSMutableOrderedSet(orderedSet: parent!.subItems!)
}

tempSet.add(newItem)
parent!.subItems = tempSet
6
задан 30 June 2009 в 13:45
поделиться

2 ответа

Согласно документации , pyodbc поддерживает транзакции, но только если драйвер odbc поддерживает это. Кроме того, поскольку pyodbc совместим с PEP 249 , данные сохраняются только при фиксации вручную.
Это означает, что вы должны явно commit () транзакцию или rollback () всю транзакцию.

Обратите внимание, что pyodbc также поддерживает функцию автоматической фиксации, и в этом случае вы не можете совершить транзакцию.
По умолчанию автоматическая фиксация отключена, но ваша кодовая база могла включить ее. Вы должны проверить соединение, когда оно будет выполнено

cnxn = pyodbc.connect(cstring, autocommit=True)

В качестве альтернативы вы также можете явно отключить режим автоматической фиксации с помощью

cnxn.autocommit = False

, но это может иметь довольно большое влияние на вашу систему.

Примечание: вы можете получить дополнительную информацию о режиме автоматической фиксации pyodbc на его вики

13
ответ дан 16 December 2019 в 21:45
поделиться

Я не думаю, что pyodbc имеет какую-либо конкретную поддержку транзакций. Для запуска / фиксации / отката транзакций необходимо отправить команду SQL.

-5
ответ дан 16 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: