我正在使用pyodbc,并将“autocommit”设置为false。
我假设如果只使用SELECT
sql语句(不使用INSERT
或{
在pyodbc中有什么方法可以确定如果我不调用'commit'是否有任何挂起的更改会丢失?在
我一直在考虑使用pyodbc'getinfo'函数,它是SQLGetInfo的包装器,但找不到合适的参数。在
实际上,我想做的只是通知用户数据库中的数据将被更改,但我不想控制使用了哪些SQL语句(只有SELECT
或UPDATE
&;INSERT
),因为我需要检查的地方太多了。在
不幸的是,pyodbc没有检查挂起的提交的内置函数。
在SQL Server(从2008开始)中,可以使用
sys.dm_tran_database_transactions
表中的database_transaction_state
字段检查数据库级别的挂起提交。具有挂起提交的事务的状态应为4
。而没有挂起提交的一个应该是3
。根据documentation,上述状态定义为:
下面的脚本验证了这个想法。
输出
编码
^{pr2}$相关问题 更多 >
编程相关推荐