毗连池 – Oracle ODP.Net和毗连池
这是我猜的两个题目. 我们开拓了一个会见Oracle数据库的.Net应用措施,并留意到在变动用户的Oracle暗码后,应用措施会在毗连字符串中行使旧暗码继承事变一小段时刻.据展望,这与现有毗连的汇总方法有关? 在第一次观测时我们实行封锁毗连字符串中的池,可是应用措施无法正常事变,在实行打开毗连时抛堕落误“无法在漫衍式事宜中挂号”.固然我们也许不想在出产应用措施中封锁毗连池,但我很好奇为什么MSDTC好像必要它? 我们行使的是Oracle 11g(11.1.2)和最新的ODP.Net(我以为是11.2). 提前叩谢 安迪 办理要领请参阅下面的一些发明:题目一:(应用措施如故与旧的DB暗码毗连) 假如我们行使毗连池选项毗连数据库,则毗连池打点器将在初次挪用OracleConnection工具的打开或封锁时建设并维护毗连会话的数目. (此毗连会话的数目取决于毗连字符串中的“min”和“max”池巨细).在Oracle中,我以为您可以搜查勾当会话,如: SELECT s.inst_id,s.sid,s.serial#,p.spid,s.username,s.program FROM gv$session s JOIN gv$process p ON p.addr = s.paddr AND p.inst_id = s.inst_id WHERE s.type != 'BACKGROUND'; 按照Oracle doc,此毗连池处事将在3分钟处于勾当状态后封锁毗连会话. [http://docs.oracle.com/html/E10927_01/featConnecting.htm] >以是最也许的缘故起因是,你的申请如故存在 题目二:(为什么MSDTC必要) 假如您在代码中行使嵌套数据库毗连,它将被晋升为DTC. [http://petermeinl.wordpress.com/2011/03/13/avoiding-unwanted-escalation-to-distributed-transactions/]现实上,Oracle Service for Microsoft Transaction Server(OraMTS)在ODP.net,DTC和Oracle数据库中起浸染. 可是在禁用毗连池之前,您没有碰着此题目(MSDTC).看起来您的代码正在从打消毗连池中重用沟通的毗连,而且也许无需晋升DTC.在StaffOverflow上有相同的题目. [Why isn’t my transaction escalating to DTC?] (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |