我的应用程序需要写入一个充当系统范围计数器的表,并且此计数器在整个系统和所有应用程序中都必须是唯一的。有没有办法打开一个不参与当前TransactionScope的新连接?
该计数器目前在我们的Oracle数据库中以表格形式实施。
我的问题是:我需要写这个计数器表(它使用一些密钥来保证每个业务进程中的计数器的唯一性进入系统),而不会锁定在当前事务中,因为多个其他进程可能会读取或写入此表中。柜台的空位并不重要,但我无法事先创建柜台值。
简单的SEQUENCE在这种情况下不能帮助我,因为序列号是格式化的数字。
现在,我有一些其他的非数据库替代方案来实现这一点,但我想尽可能避免更改系统代码。
其实,如果我可以打开一个新的连接,它不会参与当前的事务,写入表格,然后关闭这个新的连接,但我疲惫的心灵找不到方法去做吧。
答案一定是显而易见的,但光线现在不会照到我。
接受如解决了我的问题,而无需使用连接搞乱。正如我想的那样,这很明显。谢谢! –