代码描述人生

.NET 相关技术 (大坏蛋的blog)

博客园 首页 新随笔 联系 订阅 管理
  28 Posts :: 4 Stories :: 62 Comments :: 2 Trackbacks
此处示例一个中间层组件的方法,交易类型为requiresTransaction
Public Sub testInnerConn()
Dim conn As ADODB.Connection
Dim conn1 As ADODB.Connection
Dim conn2 As ADODB.Connection
Dim conn3 As ADODB.Connection
Dim conn4 As ADODB.Connection
Dim conn5 As ADODB.Connection
Dim conn6 As ADODB.Connection
Dim rec As ADODB.Recordset
Set conn = modVBMiddle.GetConnectionObject("HQ_TEST")
'App.LogEvent "get the conn"
'conn.Open
Set rec = conn.Execute("select username,sid,serial# from v$session where USERNAME = 'PKUSER'")
App.LogEvent "conn num:" + CStr(rec.RecordCount)
Set conn = Nothing
Sleep 5000
Set conn1 = modVBMiddle.GetConnectionObject("HQ_TEST")
Set rec = conn1.Execute("select username,sid,serial# from v$session where USERNAME = 'PKUSER'")
App.LogEvent "conn num:" + CStr(rec.RecordCount)
Set conn1 = Nothing
Sleep 5000
Set conn2 = modVBMiddle.GetConnectionObject("HQ_TEST")
Set rec = conn2.Execute("select username,sid,serial# from v$session where USERNAME = 'PKUSER'")
App.LogEvent "conn num:" + CStr(rec.RecordCount)
Set conn2 = Nothing
Sleep 5000
Set conn3 = modVBMiddle.GetConnectionObject("HQ_TEST")
Set rec = conn3.Execute("select username,sid,serial# from v$session where USERNAME = 'PKUSER'")
App.LogEvent "conn num:" + CStr(rec.RecordCount)
Set conn3 = Nothing
Sleep 5000
Set conn4 = modVBMiddle.GetConnectionObject("HQ_TEST")
Set rec = conn4.Execute("select username,sid,serial# from v$session where USERNAME = 'PKUSER'")
App.LogEvent "conn num:" + CStr(rec.RecordCount)
Set conn4 = Nothing
Sleep 5000
Set conn5 = modVBMiddle.GetConnectionObject("HQ_TEST")
Set rec = conn5.Execute("select username,sid,serial# from v$session where USERNAME = 'PKUSER'")
App.LogEvent "conn num:" + CStr(rec.RecordCount)
Set conn5 = Nothing
Sleep 5000
Set conn6 = modVBMiddle.GetConnectionObject("HQ_TEST")
Set rec = conn6.Execute("select username,sid,serial# from v$session where USERNAME = 'PKUSER'")
App.LogEvent "conn num:" + CStr(rec.RecordCount)
Set conn6 = Nothing
Sleep 5000
End Sub

其中App.LogEvent 是将连接数写如日志
结果令我惊讶:一次查到的连接数目为:1,2,2,2,2,2........
connection.close可以确保连接在同事务环境中被复用,如果只是将连接setnothing,只能说表现诡异.....
posted on 2004-04-23 16:52 大坏蛋 阅读(557) 评论(1)  编辑 收藏 所属分类: EnterpriseService

评论

#1楼  2004-06-28 12:00 coollzh      
果真如此吗!!!
微软的文档上怎么没有提及,
不过我也遇到到诡异的事情,从com+ transaction中回收的连接,可以被不要需要com+事务的普通查询复用,然后抱非常诡异的错误,比如说那个存储过程不存在,或者参数错误!!!
  回复  引用  查看    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2004-04-26 09:38 编辑过


相关链接: