首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OJB / Oracle XE sql调试-显示问题

OJB / Oracle XE sql调试-显示问题
EN

Stack Overflow用户
提问于 2009-11-25 00:38:07
回答 1查看 281关注 0票数 0

我有一个Java应用程序,并使用OJB作为我的ORM技术。我在本地安装了Oracle XE,可以在其上进行开发。问题是,当我需要调试问题时,我喜欢查看SQL输出。下面是一个我可以通过Oracle XE中的"Top SQL“界面查看的SQL示例:

代码语言:javascript
复制
 select a_bunch_of_fields
 from KREW_DOC_TYP_T A0
 WHERE ((UPPER(A0.DOC_TYP_NM) LIKE :1) AND A0.ACTV_IND = :2) AND A0.CUR_IND = :3 

问题是我希望看到的是真正的值,而不是":1“。我似乎找不到如何配置它。我知道真正的价值是有效的,因为应用程序在很大程度上是按预期响应的(因此我正在处理的bug)。

谢谢,杰伊

EN

回答 1

Stack Overflow用户

发布于 2009-11-25 00:53:06

一种又快又脏的方法是查看提供的数据库视图(v$sql_bind_capture和v$sqlarea)。在下面的SQL中,我只是添加了一个like子句来匹配上面的sql语句,然后您将为每个绑定变量及其值获得一行。为了针对一个非常具体的SQL语句,您需要查询的sql_id。

代码语言:javascript
复制
SELECT a.sql_text, b.NAME, b.POSITION, b.datatype_string, b.value_string
  FROM v$sql_bind_capture b, v$sqlarea b
 WHERE b.sql_id = a.sql_id
  and a.sql_text like '%UPPER(A0.DOC_TYP_NM) LIKE :1%'

输出(如果没有SQL,结果将如下所示):

代码语言:javascript
复制
"NAME","POSITION","DATATYPE_STRING","VALUE_STRING"
":B1","2","NUMBER","1001"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1791276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档