如何解决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 举报,一经查实,本站将立刻删除。