使DB2线程处于非活动状态 [英] Making DB2 thread Inactive

查看:318
本文介绍了使DB2线程处于非活动状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,
我正在使用OLEDB驱动程序将DB2连接到DotNet.我的应用程序中没有SP.应用程序中的问题是DB2中有许多活动线程.如何使这些线程不活动.
我已经关闭并处理了所有打开的连接.

在我们的应用程序中,即使从.Net关闭所有连接后,DB2数据库中仍具有活动线程,这导致DB2页面锁存器超时和分布式线程超时.
收到中止通知:04E
错误原因:00D3003B

我们的SA建议我们进行所有交易.这将是该问题的有效解决方案.

根据我的理解,当我们提交事务时,所有DB2线程将从应用程序中释放,并且DB2数据库本身应将它们标记为非活动状态.
如果我错了,请纠正我.

Hi All,
I am using OLEDB driver to connect DB2 to DotNet. There in no SP''s in my application. The problem in the application is that there are lots of active threads in DB2. How can i make these threads inactive.
I have already closed and disposed all the open connections.

In our application, even after closing all the connection from .Net, we are having active threads in the DB2 database which leads to DB2 Page latch timeout and distributed thread timeout.
Received abend: 04E
Reason for error: 00D3003B

Our SA is suggesting us to commit all the transactions. Will it be the efficient solution of that problem.

As per my understanding when we commit the transaction, all the DB2 threads will be released from the application and they should be marked inactive by the DB2 database itself.
Correct me if i am wrong.

推荐答案

也许您可以尝试释放对象池.查看有关它的msdn:
http://msdn.microsoft.com/en-us/library/system. data.oledb.oledbconnection.releaseobjectpool [ ^ ]

好的!
Maybe you can try releasing the object pool. Check out msdn about it:
http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbconnection.releaseobjectpool[^]

Good luck!


是的,如果没有跨提交边界的资源被占用,那么线程应该变为非活动状态.

您还应该确认将zParm的"CMTSTAT"设置为"INACTIVE".如果设置为"ACTIVE",线程将保持活动状态,直到被终止(或IDTHTOIN值超时).
Yes, if no resources are being held across commit boundaries, then the thread should go inactive.

You should also verify your zParm ''CMTSTAT'' is set to ''INACTIVE''. If set to ''ACTIVE'', threads will stay active until terminated (or timed out by the IDTHTOIN value).


这篇关于使DB2线程处于非活动状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆