在我们的网络应用程序中,我们使用spring,hibernate& sql server 2016 as db。我们使用jndi连接到数据库。要记录hibernate执行的所有查询,我正在尝试实现p6spy。
以下是我所做的更改。
从
更改资源信息<Resource name="jdbc/eportalcore" auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;databaseName=eportal-core;"
username="eportaldbadmin"
password="P@ssw0rd"
maxTotal="100"
maxIdle="20"
minIdle="5"
maxWaitMillis="10000" />
到
<Resource name="jdbc/eportalcore" auth="Container"
type="javax.sql.DataSource"
driverClassName="com.p6spy.engine.spy.P6SpyDriver"
url="jdbc:p6spy:sqlserver://localhost:1433/eportal-core"
username="eportaldbadmin"
password="P@ssw0rd"
maxTotal="100"
maxIdle="20"
minIdle="5"
maxWaitMillis="10000" />
并在tomcat目录的lib文件夹下添加了spy.properties文件。此外,我已将p6spy-3.0.0.jar
放在lib文件夹中。
但在此之后我的应用程序没有连接到数据库。我在这做什么错?如果我删除此更改,那么它正常工作。
有什么建议吗?
答案 0 :(得分:0)
我有同样的问题,这就是我做的工作。注意我的数据库连接属性在属性文件中(不应该是一个问题),我使用tomcat作为应用程序服务器。您还可以在项目中将P6Spy添加为Maven依赖项。
之前: db.properties
db.driver=net.sourceforge.jtds.jdbc.Driver
db.url=jdbc:jtds:sqlserver://${db.server}/${db.name};useNTLMv2=true;domain=XX
之后: Download(latest version when writing this response)该项目。将p6spy-3.7.0.jar和spy.properties放在tomcat / lib文件夹中。如下所述更改spy.properties和应用程序属性。重新启动应用程序,你应该找到一个spy.log来正常打印你的日志。
db.properties
db.driver=com.p6spy.engine.spy.P6SpyDriver
db.url=jdbc:p6spy:jtds:sqlserver://${db.server}/${db.name};useNTLMv2=true;domain=XX
spy.properties
driverlist=net.sourceforge.jtds.jdbc.Driver