【问题标题】:ASEOLEDB client connection fails intermittentlyASEOLEDB 客户端连接间歇性失败
【发布时间】:2013-09-05 22:49:34
【问题描述】:

我有一个使用 Sybase 15 的 C++ .NET 2003 客户端应用程序,它使用 ASEOLEDB 连接到 Sybase 12.5 数据库服务器。客户端代码通过调用the Microsoft library function CCommand::Open构建连接字符串并执行存储过程。

大多数时候,CCommand::Open 返回 S_OK 并且代码继续。然而,看似随机的,该调用将开始返回 E_FAIL。数据库、存储过程和输入都是相同的。这将持续 20-30 分钟,然后似乎会自行解决并重新开始工作。

当问题发生时,我可以使用 Toad for Sybase 以相同的输入执行存储过程而不会出现问题。我还可以使用使用 Sybase 11 的较旧版本的客户端应用程序,它也没有问题。我还可以使用同样成功执行的 Sybase 15 连接字符串在 PowerShell 中运行脚本。

我怀疑 Sybase 11 和 Sybase 15 客户端代码之间存在某种连接池差异,但我不知道如何证明/反驳/进一步隔离原因。

可能的相关问题:Intermittent Oledb connection error “Cannot open database ''.”

【问题讨论】:

    标签: .net connection-string oledb sap-ase


    【解决方案1】:

    我发现问题出在我们使用的 Sybase OLE DB 驱动程序上(sybdrvoledb.dll 版本 15.0.0.356)。当我将 Sybase/DataAccess/OLEDB/dll 文件夹替换为 Sybase 15.7 版本中的 dll 文件夹时,不会发生此问题。我使用了 Sybase 15.7.0.80 和 15.7.0.1000 的 DLL 文件,两者都可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多