iAnywhere中的连接状态错误

时间:2013-01-22 13:00:52

标签: c# sqlanywhere

非常......愚蠢的问题。

对SQLAnywhere12的调用是从c#代码完成的。

  • 对可用数据库进行数据库调用并正确回答。
  • 如果数据库在最初工作后关闭(例如网络),则新连接会挂起。

我在callstack上看到的最后一件事是:

  • Intellitrace.OpenConnection
  • SAConnection.Open
  • SAConnectionPoolManager.AllocateConnection
  • - > Monitor.Enter

Monitor.Enter似乎永远等待。

似乎没有触发异常。

所以我的想法是查看连接状态,只有在连接打开时才会触发命令(即使对它有一种非常糟糕的感觉 - 在询问状态后可以直接断开连接)

如果我查看数据库的连接对象(iAnywhere.Data.SQLAnywhere),则有一个可用的ConnectionState。此ConnectionState显示:“打开”。

如果没有可用的数据库连接,我会指望“已损坏”或“已关闭”。

如何告诉SQLAnywhere更新连接状态?

或者甚至有更好的可能获得一次重复?

1 个答案:

答案 0 :(得分:0)

问题已“解决”。

Telerik OpenAccess用作ORM。它有自己的连接池。

禁用Telerik连接池并启用ADo.Net连接池有帮助。