oracle自动提交没有生效,JBoss对Oracle的自动提交始终不起作用
我有一個(gè)非常有趣的情況。我對(duì)JBoss和Oracle稍有新意,主要與DB2上的Weblogic一起工作。這就是說(shuō),我想要做的事很簡(jiǎn)單。
我有一個(gè)local-tx-datasource到Oracle數(shù)據(jù)庫(kù)。從我的Java I代碼中,我使用適當(dāng)?shù)腏NDI名稱(chēng)檢索數(shù)據(jù)源后調(diào)用datasource.getConnection()。 my -ds.xml文件中的local-tx-datasource聲明沒(méi)有任何顯式引用自動(dòng)提交行為。
獲得連接后,我執(zhí)行創(chuàng)建/更新查詢,并返回正確的更新計(jì)數(shù)。隨后,在短時(shí)間內(nèi),我甚至可以檢索到這個(gè)記錄。然而,在此之后,數(shù)據(jù)庫(kù)假裝它從來(lái)沒(méi)有得到記錄,并且什么也沒(méi)有。
我對(duì)連接的經(jīng)驗(yàn)表明,當(dāng)連接沒(méi)有提交它的工作時(shí)會(huì)發(fā)生這種情況,所以只有這個(gè)連接本身才能看到它的事務(wù)中的數(shù)據(jù)。從我讀的內(nèi)容來(lái)看,JBoss也遵循Connection返回的規(guī)范是自動(dòng)提交的規(guī)范。我甚至從我的Java代碼中驗(yàn)證了這一點(diǎn),并指出自動(dòng)提交行為已設(shè)置為true。但是,如果是這樣的話,為什么我的記錄沒(méi)有被創(chuàng)建/更新?
在此之后,我將Connection的自動(dòng)提交行為設(shè)置為false(再次來(lái)自Java代碼),然后明確進(jìn)行提交。從那時(shí)起,就沒(méi)有問(wèn)題了。
什么可能會(huì)出錯(cuò)?這里我對(duì)自動(dòng)提交的理解是不正確的,還是對(duì)JBoss有其他解釋?請(qǐng)注意,我沒(méi)有任何交易。這些是非常簡(jiǎn)單的單個(gè)記錄插入查詢。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的oracle自动提交没有生效,JBoss对Oracle的自动提交始终不起作用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: aix oracle查看字符集,AIX下
- 下一篇: 让人心静下来的经典语录238个