Click here to Skip to main content
15,887,175 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
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.
Posted
Updated 8-Mar-16 11:46am

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!
 
Share this answer
 
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).
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900