这个时候就可以设定环境变量SQLIDEBUG, 例如:
export SQLIDEBUG=2:/tmp/sqlidebug_20220120
其中,2是常量, “:” 冒号后边的生成的文件前缀名称。
设定完毕后,执行esql程序,例如编译执行CSDK中的demo/esqlc/demo1.ec
demo1.ec中包含下面的SQL语句:
编译demo1.ec, 在demo/esqlc目录下执行make demo1
编译完毕后,执行./demo1
检查/tmp目录下生成的文件:
通过执行sqliprint命令,参数为/tmp目录下刚刚生成的文件
就可以查看ESQL/C程序与数据库服务器之间交互信息了,以下是发送的SQL语句信息节选:
上图中包含客户端向服务器发送的信息:
C->S 中的C是指客户端, S是指服务器端, ->是方向.
C->S就是客户端向服务器端发送指令.
SQ_COMMAND,表明发送的是SQL语句.
CMD是具体的SQL语句.
SQ_NDESCRIBE,表明客户端需要服务器端返回SQL语句的描述信息.
SQ_EOT,表明命令结束.
服务器向客户端发送的信息:
S->C: 表明是服务器端向客户端发送的信息.
SQ_DESCRIBE: 与客户端的SQ_NDESCRIBE向对应,是服务器端向客户端返回的SQL语句描述信息, 描述信息中包含.
SQL语句的类型 stmt_type.
SQL语句返回的各个列的信息,如列名称,列类型,列长度等等.
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)