我正在Sybase ASE 15.7中工作,并且正尝试从T-SQL返回消息,如下所示。我正在使用AseConnection.InfoMessage事件处理程序从数据库捕获消息。它工作正常,但也返回打印语句作为AseError消息。为什么会发生这种情况,我该如何纠正?
控制台输出:
日志:SomeTable中有12522行
AseError日志:SomeTable中有12522行
2019-03-20 21:35:09.292 DEBUG 50089 --- [lt-dispatcher-2] a.kafka.internal.DefaultProducerStage : Stage completed
2019-03-20 21:35:09.294 DEBUG 50089 --- [lt-dispatcher-4] akka.stream.Materializer : [scanning logs] Downstream finished.
2019-03-20 21:35:09.296 INFO 50089 --- [onPool-worker-3] com.example.MyStream : done
答案 0 :(得分:1)
这只是驾驶员作者一个非常奇怪的设计决定。所有消息,错误和信息都共享一个将消息描述为AseError
的数据结构。
我从事一个开源项目,该项目产生了AseClient
中的.NET Core version。该项目的目标之一是直接替代SAP / Sybase的驱动程序-出于这个原因,我们复制了上面的设计决策-尽管很奇怪。
严重性>10
被认为是错误。否则,它被认为是信息性的。如果可以帮助您理解它,以下是我们用于解释服务器消息的代码:MessageTokenHandler.cs