如何识别db事务并在RPC的两端使用它

时间:2016-08-30 01:05:20

标签: c# sql-server oracle postgresql transactions

在我们的系统中,我们大量使用交易。如果在已知消息集合中发现任何错误消息,我们的平台将在请求的最后自动回滚事务。由于系统非常庞大,我们仍然需要不时调用遗留代码。遗留代码在不同的服务器上运行,并通过RPC同步调用。

不幸的是,遗留代码创建了一个单独的事务,这迫使我们在调用遗留代码之前显式提交遗留代码所依赖的任何更改,如果一切顺利,遗留代码也可以提交其更改。

平台没有提供任何识别此功能和清理数据的好方法。这导致了一堆令人讨厌的案例,其中新代码或遗留代码中的某些内容出错,并且数据已创建已提交和孤立。

我想知道是否有一种机制可以通过Id或类似的东西来识别交易,然后选择它并在遗留代码中使用它。新代码库和遗留代码库都直接(2层)与数据库服务器通信,并且总是有一个数据库服务器。我们没有任何分布式数据库的概念。

编辑:TLDR;我想知道是否有一种非DBMS特定方式来识别数据库事务并使用它。如果只有DBMS方法可以做任何oracle / sql-server / postgres大师知道怎么做?

0 个答案:

没有答案