>>>Someone knows a situation where SQLDISCONNECT () does not disconnect the session?
>>
>>Maybe the handle you specify is out of scope?
>>
>>Maybe there is an asynchronous query running which has not finished? (not tested)
>
>good point!
Not sure if this fits in here, but what if sqlIdleDisconnect() was used... Would that reconnect? Or could it happen in a scenario where
1. a real (physical or any other external cause) disconnect happens
2. the app issues a disconnect()
3. something else in the app needs the handle, the idle disconnect detects that there's no connection, reconnects.
I've seen some uses of this idle disconnect, but it's not the code I wrote, nor have I tested it myself, so I'm only guessing here.