jkii007
高级会员
高级会员
  • 发帖数27
  • QQ196290776
  • 金币187两
  • 威望110点
  • 钻石0枚
  • 注册日期2017-01-11
  • 最后登录2021-12-16
  • 社区居民
阅读:7097回复:0

[资源分享]debug升级版

楼主#
更多 发布于:2018-04-24 17:59
一般程序出现什么问题,直观判断不出来的时候,大家都会选择debug工具r.d2+来查看出了什么问题


但有的时候,这个不一定是万能的


因为debug画面上看到的sql语句,未必就是传送给db的sql语句


比如程序中有一行CREATE TEMP TABLE这样的语句


使用debug工具r.d2+时,在debug窗口中看到的就是CREATE TEMP TABLE这样的语句


若直接把此语句丢进ORACLE的DB进行执行,结果会是fail,因为ORACLE根本就不支持这样的语句


但是这句话,在4gl程序中执行,却可得到正确的结果


所以,我们可以猜想到,中间肯定做了一些转换,那这句CREATE TEMP TABLE到底变成了怎样一条


ORACLE可以接受的语句呢?


r.d2+办不到,这个时候,大家可以使用r.r2d 来看到这句最终的sql语句


命令格式:r.r2d your_porg (在含有your_prog.4gl的目录下执行)


此时会生成一个your_prog.log文档,在这个文档中,search CREATE TEMP TABLE


在它的附近就会有一条真正丢进ORACLE DB的SQL语句


在ORACLE中它被转换成了CREATE TABLE..但是在temp tablespace中进行的create


可能大家还不一定熟悉这个工具,只是告诉大家,若真得有时候出现解决不了的sql时,可以看log的方式来尝试一下
喜欢1 评分0

最新喜欢:

PerryPerry
游客

返回顶部