最近安装POJ,出现如下问题:
getConn ():Cannot create PoolableConnectionFactory (Server connection failure during transaction. Due to underlying exception: ‘java.sql.SQLException: Invalid authorization specification message from server: “Access denied for user ‘root’@'localhost’ (using password: YES)”‘.
** BEGIN NESTED EXCEPTION **
java.sql.SQLException
MESSAGE: Invalid authorization specification message from server: “Access denied for user ‘root’@'localhost’ (using password: YES)”STACKTRACE:
java.sql.SQLException: Invalid authorization specification message from server: “Access denied for user ‘root’@'localhost’ (using password: YES)”
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1997)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1906)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:2520)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:817)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1898)
at com.mysql.jdbc.Connection.<init>(Connection.java:450)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at com.pku.judgeonline.common.DBConfig.I(Unknown Source)
at com.pku.judgeonline.common.ServerConfig.append(Unknown Source)
at com.pku.judgeonline.common.ServerConfig.I(Unknown Source)
at com.pku.judgeonline.servlet.Index.init(Unknown Source)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4187)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4496)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443
这个问题困扰我好几天,写个jsp的连接文件没有问题,但是用POJ中的context.xml连就不行。
刚开始以前是MySQL的版本问题,因为POJ用的是MySQL4.1.*,而我安装的是MySQL 5.1,其间还换了好几个版本的连接文件还是不行。
解决方法:POJ安装的时候在Tomcat的\webapps\JudgeOnline\META-INF下面有一个context.xml文件,但Tomcat重新Copy了一份到\conf\Catalina\localhost\JudgeOnline.xml,而且用的是后面这个配置文件,只要将后面这个文件的用户名和密码改成正确的就可以。
具体见:http://jasperforge.org/plugins/espforum/view.php?group_id=112&forumid=102&topicid=51345
最近评论