【发布时间】:2018-06-07 05:40:42
【问题描述】:
我们已经编写了几个连接到我们内部 Firebird 2.5.5 数据库的 C# Web 服务。
不幸的是,“从连接读取数据时出错”异常越来越频繁地抛出,我们不知道如何修复它。
我们尝试禁用池,但这并没有达到预期的效果。
我们还编写了一个 try catch 块来重新连接并重新执行 SQL,但这在我们看来不是正确的解决方案。
还有其他选择吗?
以下是一些环境信息:
- C# 7.0
- .NET 4.5
- 火鸟版本 2.5.5
- 火鸟驱动程序 5.5.0
- Firebird 日志当时没有显示任何错误消息
- 任何sql语句都会时不时发生错误
【问题讨论】:
-
尝试专门捕获
FbException并检查ErrorCode属性。这至少可以提供有关问题原因的更多信息(请参阅firebirdsql.org/pdfrefdocs/Firebird-2.1-ErrorCodes.pdf) - 或者您只能在 335544726 时重新连接。 -
Stacktrace: ... { "Message": null, "ErrorCode": 335544726, "StrParam": "", "Type": 1, "IsArgument": false, "IsWarning": false }, { "Message": "从连接读取数据时出错。", "ErrorCode": 335544726, "StrParam": "", "Type": 0, "IsArgument": false, "IsWarning": false } ], “错误代码”:335544726 }
-
你可以通过重新连接
ErrorCode == 335544726来“改进”黑客攻击。我在 firebird 页面上找不到原始错误报告,但我记得几年前它的状态是“无法修复”。 -
好的,谢谢,但我应该如何处理交易?