AseConnection InfoMessage返回打印语句作为错误消息

时间:2019-03-20 20:48:04

标签: c# tsql sybase-ase

我正在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

1 个答案:

答案 0 :(得分:1)

这只是驾驶员作者一个非常奇怪的设计决定。所有消息,错误和信息都共享一个将消息描述为AseError的数据结构。

我从事一个开源项目,该项目产生了AseClient中的.NET Core version。该项目的目标之一是直接替代SAP / Sybase的驱动程序-出于这个原因,我们复制了上面的设计决策-尽管很奇怪。

严重性>10被认为是错误。否则,它被认为是信息性的。如果可以帮助您理解它,以下是我们用于解释服务器消息的代码:MessageTokenHandler.cs