GBase 8s
运维管理
问答

gbase8s的syssqltrace表中的sql_statement采集的变量是以?展示的,如何获得完整的变量

发表于2023-12-08 15:07:05105次浏览1个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】: GBase8sV8.8_TL_3.3.0_2_36477d

【操作系统】:     centos7

【CPU】:

【问题描述】*:  

前提,已设置全局sql追踪

EXECUTE FUNCTION task("set sql tracing on", 1000,"128k","high","Global");

 

通过dbaccess执行sql时,使用变量例如  select * from test where name='xxx' ,syssqltrace表中的sql_statement会记录完整的变量xxx, 但通过jdbc以 cur.execute(sql, args)方式传递时,即sql为  select * from test where name=?,使用arg传递xxx参数,syssqltrace表中的sql_statement只会将变量记录为?。有没有方法能获取完整的变量?

评论

登录后才可以发表评论
用户头像
NiJaT发表于 2年前
用jdbc的时候,只有执行sql的时候,才会把变量传进去,所以说只有SQL执行过程中能查得到变量是啥,
当sql执行完了,变量就没了,所以就会变成问号。
建议不要使用变量,给他写死,写死了就能查得到了。
最佳回答