1
非常愚蠢的问题。错误的iAnywhere连接状态
调用SQLAnywhere12是从C#代码完成的。
- 对可用数据库的数据库调用进行了正确的回答。
- 如果数据库在初始工作后关闭(例如网络),则新连接会挂起。
最后的事情,我可以在调用堆栈看到的是:
- Intellitrace.OpenConnection
- SAConnection.Open
- SAConnectionPoolManager.AllocateConnection
- - > Monitor.Enter
Monitor.Enter似乎永远等待。
没有例外似乎被解雇。
所以我的想法是,看看连接状态,如果连接只开放触发命令(甚至有与它一个非常不好的预感 - 的连接可以直接询问后状态被打破)
如果我查看数据库(iAnywhere.Data.SQLAnywhere)的连接对象,则有一个可用的ConnectionState。此ConnectionState显示:“打开”。
如果没有与数据库的连接可用,我会预期“Broken”或“Closed”。
如何告诉SQLAnywhere更新连接状态?
还是有更好的可能性得到一个excpetion?