暂无图片
GBase 8s里如何获取并显示ESQLC程序发送的SQL语句?
我来答
分享
Dr.王
2022-01-21
GBase 8s里如何获取并显示ESQLC程序发送的SQL语句?

环境变量的设置,和一些详细的语句有哪些?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
Dr.王

有些时候, 需要获取并分析GBase8s ESQL/C程序与数据库服务器之间交互的信息。

这个时候就可以设定环境变量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语句信息节选:


上图中包含客户端向服务器发送的信息:

1. C->S 中的C是指客户端, S是指服务器端, ->是方向。

C->S就是客户端向服务器端发送指令。

2. SQ_COMMAND,表明发送的是SQL语句

CMD是具体的SQL语句

3. SQ_NDESCRIBE,表明客户端需要服务器端返回SQL语句的描述信息。

4. SQ_EOT,表明命令结束。

 

服务器向客户端发送的信息:

1) S->C: 表明是服务器端向客户端发送的信息。

2) SQ_DESCRIBE: 与客户端的SQ_NDESCRIBE向对应,是服务器端向客户端返回的SQL语句描述信息, 描述信息中包含了

2.1) SQL语句的类型 stmt_type

2.2) SQL语句返回的各个列的信息,如列名称,列类型,列长度等等。

 

 

 

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
相关推荐
使用hint进行数据库内排序
回答 1
登录集群时gccli使用c和q参数,然后执行insertintotselect/distributeexec/fromttmporderbyxxx。c参数的作用,让hint,也就是/…/不会直接被客户
Halo 数据库兼容哪些数据库?
回答 1
halo数据库兼容多种数据库模式,如postgresql(默认)、oracle、sybase、mysql、sqlserver、db2等等,如果需要其他小众数据库兼容,halo数据库的开发团队也能在短时
有了解虚谷数据库的吗?
回答 5
听过他们的介绍,牛逼的不要不要的,全球PK中标气象局,性能第一
亚信科技的主要数据库产品线是?
回答 1
亚信科技数据库研发始于2008年,深耕电信运营商市场十余年,并通过了信通院、信创分布式数据库基础能力和性能专项的评测。目前在数据库产品方面,提供大型企业数字化基础软件AntDB原生分布式数据库,包括安
万里数据库产品在电信运营商行业的现有业务有哪些?
回答 1
2020年万里数据库中标了中移动OLTP数据库联合创新项目,目前在中移信息下属机构以及全国各个网省公司支撑着众多业务。且自2019年底,万里在运营商行业的业务拓展进一步深化,与联通沃音乐展开了多方面的
适配国产操作系统,如何选择一款国产数据库?
回答 5
已采纳
兼容为先,替换过程是否有其他关注的点呢?集中式和分布式是否有要求?目前存储过程触发器等是否有使用?以及应用程序可接受的改动量有预期么?
tdsql 怎么保证zk的高可用?
回答 2
多可用区部署、3中心;每个节点跨机架;
在GBase 8s解压文件时,归档文件中异常的EOF
回答 1
安装包对吗?是不是没拷贝全,重新上传一遍,应该可以。
达梦数据库怎么创建分区表?
回答 1
参考如下语句进行创建CREATETABLEorderhistory(idint,orderdatedate,amountdecimal(10,2))PARTITIONBYRANGE(orderdate
GreatDB 的行列混合存储怎么实现的?谁用过,可否分享一二
回答 2
GreatDB的行列混合存储实现可能涉及以下几个方面:存储模型:GreatDB可能采用一种混合的存储模型,其中数据可以同时以行和列的形式存储。这意味着某些表或数据分区可能以行存储为主,而其他表或分区则