0

我有 ac# windows 服务,它使用PetaPoco更新我的数据库中的数据,所有这些都包含在一个事务中。但是,我需要在事务运行时数据库可用于查询(Web 应用程序,通过 ODBC 连接运行查询),但如果在提交事务时查询,我的数据库会出现“灾难性故障”错误。目前针对 MS SQL Server 进行测试,但也需要针对 Oracle 数据库进行测试。

有没有办法为 PetaPoco 事务设置事务隔离级别,这可能是这种情况下的解决方案吗?

4

1 回答 1

0

事实证明,“灾难性故障”消息源于 PetaPoco 和我现有的 Web 应用程序的更新导致的数据库死锁。我通过锁定表格解决了这个问题

SELECT TOP 1 * FROM [TABLENAME] WITH (TABLOCKX) 

PetaPoco 交易开始时的查询。

于 2012-11-30T14:25:01.767 回答