微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle ojdbc驱动程序未记录SQL查询参数

如何解决Oracle ojdbc驱动程序未记录SQL查询参数

我已经正确配置了应用程序以记录SQL查询,但未显示参数值,而是显示问号(?)。

我在StackOverflow和官方文档中关注了很多问题,但没有任何效果

我的应用程序在OpenLiberty服务器上运行。

Driver: ojdbc6_g.jar

我的配置:

com.ibm.ws.logging.trace.specification=*=audit:oracle=CONfig
oracle.jdbc.Trace=true

# set levels 
.level=SEVERE
oracle.level=INFO
oracle.jdbc.driver.level=CONfig
oracle.sql.level=CONfig
# configure handlers
oracle.handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=CONfig
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter

有没有办法使用第三方库或修改应用程序的代码来查看sql参数?

解决方法

有没有办法使用第三方库或修改应用程序的代码来查看SQL参数?

您必须使用>>> print(list_of_mats[0]) [[7 2 3] [4 5 6]] >>> print(list_of_mats[1]) [[7 2 3] [4 5 6]] 修改logging.properties,因为这正是记录参数的logger name

我已经正确配置了应用程序以记录SQL查询,但未显示参数值,而是显示问号(?)。

Oracle驱动程序经过编码,可以将参数记录为单独的日志语句。从您的问题看来,您要解决的问题是由Oracle驱动程序为参数创建多个日志记录以及为查询本身(仅包含绑定)创建多个日志记录引起的格式化问题。由于存在格式化问题,因此日志记录框架要求您创建一个自定义格式化程序,以将日志记录转换为您希望看到的特定输出格式。

关于格式化程序的唯一新颖之处在于,您需要将多个日志记录合并为一条格式良好的消息。

这是一个让您入门的示例:

oracle.jdbc.driver=FINE

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。