Druid数据库连接池,java.sql.SQLException: validateConnection false
Springboot2.1.9+druid+mybatits(不重启项目动态添加mysql和oracle数据源)和数据监控动态增加数据源问题如下11:10:44.465 [Druid-ConnectionPool-Create-12796329] ERROR c.a.d.p.DruidDataSource - [run,2803] - create connection SQLException,
Springboot2.1.9+druid+mybatits(不重启项目动态添加mysql和oracle数据源)和数据监控
动态增加数据源问题如下
11:10:44.465 [Druid-ConnectionPool-Create-12796329] ERROR c.a.d.p.DruidDataSource - [run,2803] - create connection SQLException, url: jdbc:sqlserver://172.16.31.1:1433;database=tj_zfyy, errorCode 0, state null
java.sql.SQLException: validateConnection false
at com.alibaba.druid.pool.DruidAbstractDataSource.validateConnection(DruidAbstractDataSource.java:1418)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1733)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2801)
Caused by: java.lang.NullPointerException: null
at com.microsoft.sqlserver.jdbc.SQLServerStatement.ensureSQLSyntax(SQLServerStatement.java:702)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:728)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:689)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.execute(SQLServerStatement.java:662)
at com.alibaba.druid.pool.vendor.MSSQLValidConnectionChecker.isValidConnection(MSSQLValidConnectionChecker.java:50)
at com.alibaba.druid.pool.DruidAbstractDataSource.validateConnection(DruidAbstractDataSource.java:1398)
... 2 common frames omitted
解决办法
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setUsername("");
druidDataSource.setPassword("");
druidDataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
druidDataSource.setUrl("jdbc:sqlserver://127.0.0.1:1433;database=aa");
druidDataSource.setValidationQuery("SELECT 1");
//Oracle 用下面代码
//druidDataSource.setValidationQuery("SELECT 1 FROM DUAL");
druidDataSource.setValidationQueryTimeout(60000);更多推荐




所有评论(0)