1
非常愚蠢的問題。錯誤的iAnywhere連接狀態
調用SQLAnywhere12是從C#代碼完成的。
- 對可用數據庫的數據庫調用進行了正確的回答。
- 如果數據庫在初始工作後關閉(例如網絡),則新連接會掛起。
最後的事情,我可以在調用堆棧看到的是:
- Intellitrace.OpenConnection
- SAConnection.Open
- SAConnectionPoolManager.AllocateConnection
- - > Monitor.Enter
Monitor.Enter似乎永遠等待。
沒有例外似乎被解僱。
所以我的想法是,看看連接狀態,如果連接只開放觸發命令(甚至有與它一個非常不好的預感 - 的連接可以直接詢問後狀態被打破)
如果我查看數據庫(iAnywhere.Data.SQLAnywhere)的連接對象,則有一個可用的ConnectionState。此ConnectionState顯示:「打開」。
如果沒有與數據庫的連接可用,我會預期「Broken」或「Closed」。
如何告訴SQLAnywhere更新連接狀態?
還是有更好的可能性得到一個excpetion?