ORA-01591-Oracle从远程SQL Server表中删除数据 [英] ORA-01591 - oracle delete data from remote sql server table
问题描述
使用从Oracle 11gr2到Sql Server 2005的异构连接,我们试图获取数据.在循环中获取数据时,如果在将数据插入Oracle之后不提交并尝试在Sql Server上删除数据,则会发生此错误:
Using a heterogenous connection from Oracle 11gr2 to Sql Server 2005, we are trying to fetch data. While fetching in a loop, if we don't commit after inserting the data to Oracle, and try to delete the data at Sql Server this error occurs :
ORA-01591: kilit belirsiz dağıtılmış 3.10.5910 işlemi tarafından tutuluyor
这个问题一直持续到重新创建表为止.我们很高兴听到是否存在任何逻辑的,人道的方法?
This problem keeps on going until re-creating the table. We would be very happy to hear if any logical, humanistic approach exists?
推荐答案
the real answer is at http://download.oracle.com/docs/cd/B14117_01/server.101/b10739/ds_txnman.htm, connecting as sys , doing FORCE COMMIT 'tranid' etc. is explained there. But in my case, it didn't work. As a dirty resolution I truncated the table , if there was no data waiting to be commited and that locks the delete operation, there wouldn't be any - temporarly- problem , I thought. TRUNCATE TMP_CUSTOMER is my - dirty - solution to this. Please do not hesitate to answer because it is a temp solution, also some good advice on distr. transactions would be good too.
这篇关于ORA-01591-Oracle从远程SQL Server表中删除数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!