【问题标题】:Sybase SQL Anywhere driver throws NullReferenceExceptionSybase SQL Anywhere 驱动程序引发 NullReferenceException
【发布时间】:2015-04-02 11:38:16
【问题描述】:

我的问题是,在我的多线程应用程序中,SQL Anywhere 12 驱动程序抛出 NullReferenceExceptions。异常总是在不同的点抛出,但总是在打开连接的过程中。最多有 5 个打开的连接。堆栈跟踪如下:

我不知道为什么会这样。

还有其他人有类似的问题吗?目前我不知道。

编辑

该错误实际上是不可重现的,因为有时应用程序可以正确运行两个小时或一天,有时只运行 10 分钟。

【问题讨论】:

  • 哪个版本 12.?您使用的是 SQL Anywhere ADO.Net 驱动程序吗?
  • @NeillVerreynne 我们使用 SQL 12 数据库,但使用 SQL 16 驱动程序。驱动程序有以下版本:16.0.0.20524。数据库有以下版本:12.0.1.3579
  • 好吧,当多个线程尝试分配/关闭多个连接池时,SAConnectionPoolManager 不是线程安全的。这在版本 16.0.0.1431 和 12.0.1.3851 中已修复(他们说)。
  • @NeillVerreynne 如果您从您的评论中做出回答,我会接受。问题应该得到解决。我发现我们的一位客户使用3994,他们没有问题:) 非常非常非常感谢...
  • :) 不客气,很高兴它的工作@BendEg

标签: c# multithreading .net-4.0 nullreferenceexception sqlanywhere


【解决方案1】:

好吧,当多个线程尝试分配/关闭多个连接池时,SAConnectionPoolManager 不是线程安全的。这在版本 16.0.0.1431 和 12.0.1.3851 中已修复(他们说)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多