本章节包含以下内容:

3.1. 工具的启停 

3.1.1. 启动 

kes_protocol_tool <物理网卡的名称> <需要监控的端口号>

工具启动后,不断地抓取并解析收到的协议消息,将协议直接打印在屏幕上。

3.1.2. 停止 

方式一:工具在当前session持续不断地运行,直到人为地 Ctrl + C 停止;

方式二:通过其他session,找到进程ID,kill相关进程可以停止工具。

3.2. 典型协议示例 

3.2.1. 后端(BACKEND)发送的报文 

3.2.1.1. AuthenticationOk 

认证请求成功的返回报文。

3.2.1.2. BindComplete 

绑定完成指示(Bind-complete indicator)报文。

3.2.1.3. DataRow 

数据行(Data Row)报文。

3.2.1.4. EmptyQueryResponse 

空查询响应报文。

3.2.1.5. ErrorResponse 

错误消息报文。

S 严重性(Severity):该字段的内容是ERROR,FATAL, 或者 PANIC(在一个错误消息里),或者 WARNING, NOTICE,DEBUG,INFO 或 LOG (在一条通知消息里),或者是这些的某种本地化翻译的字串。总是会出现。

V 严重性(Severity):该字段的内容是ERROR,FATAL, 或者 PANIC(在一个错误消息里),或者 WARNING, NOTICE,DEBUG,INFO 或 LOG (在一条通知消息里),不会被本地化翻译。总是会出现。

C 代码 :错误的 SQLSTATE 代码(一个 5 字符字串,后面跟着 SQL 规范的习惯)。 不能本地化。总是出现。

M 消息(Message):用户可读的错误信息的主体。这些信息应该准确并且简洁(通常是一行)。总是出现。

D 细节(Detail):一个可选的从属错误信息,承载有关问题的更多错误消息。可以是多行。

H 提示(Hint):一个可选的有关如何处理问题的建议。它和细节不同的地方是它提出了建议(可能并不合适)而不仅仅是事实。可以是多行。

P 位置(Position):这个字段值是一个十进制 ASCII 整数,表示一个错误游标的位置,它 是一个指向原始查询字串的索引。第一个字符的索引是 1,位置是以字符计算 而非字节计算的。

W 哪里(Where):一个指示错误发生的环境的指示器。目前,这个参数包含一个活跃的PL 函数 的调用堆栈的追溯。这个追溯每条记录一行,最新的在最上面。

F 文件(File):报告错误的源代码所在文件名。

L 行(Line):报告错误的源代码中的行号。

3.2.1.6. NoData 

无数据指示(no-data indicator)报文。

3.2.1.7. NoticeResponse 

通知消息(notice)报文。

3.2.1.8. ParameterDescription 

参数描述报文。

3.2.1.9. ParameterStatus 

运行参数状态报告(run-time parameter status report)报文。

3.2.1.10. ParseComplete 

Parse命令完成报文。

3.2.1.11. ReadyForQuery 

当后端准备好接收新的查询请求时发送该报文。

3.2.2. 前端(FRONDEND)发送的报文 

3.2.2.1. Bind 

绑定命令报文。

3.2.2.2. Close 

关闭命令报文。

3.2.2.3. Describe 

Describe命令报文。

3.2.2.4. Parse 

Parse命令报文。

3.2.2.5. PasswordMessage 

密码消息报文。

3.2.2.6. Query 

简单查询(simple query)报文。

3.2.2.7. Terminate 

Termination报文。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐