非常..愚蠢的问题。
从 c# 代码调用 SQLAnywhere12。
- 对可用数据库进行数据库调用并正确应答。
- 如果数据库在最初工作后关闭(例如网络),新连接就会挂起。
我在调用堆栈上看到的最后一件事是:
- Intellitrace.OpenConnection
- SAConnection.Open
- SAConnectionPoolManager.AllocateConnection
- ->监视器。输入
Monitor.Enter 似乎永远在等待。
似乎没有异常被解雇。
所以我的想法是查看连接状态,只有在连接打开时才触发命令(即使在那里感觉很糟糕 - 在询问状态后可以直接断开连接)
如果我查看数据库的连接对象( iAnywhere.Data.SQLAnywhere ),则有一个可用的 ConnectionState。此 ConnectionState 显示:“打开”。
如果没有与数据库的连接可用,我希望“损坏”或“关闭”。
我如何告诉 SQLAnywhere 更新连接状态?
或者是否有更好的可能性得到一个例外?