写了一个测试类,测试与MySql连接为什么连接不上。。错误如下
成功加载数据库驱动程序
连接数据库失败
SQLException:Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused: connectSTACKTRACE:java.net.SocketException: java.net.ConnectException: Connection refused: connect
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2565)
at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at test.Test1.main(Test1.java:44)
** END NESTED EXCEPTION **Last packet sent to the server was 63 ms ago.测试类public class Test1 { public static void main(String[] args) { String driveName = "com.mysql.jdbc.Driver"; String databaseURL = "jdbc:mysql://localhost:3306/ssh"; String user = "root"; String password = "********";//此处自己的密码 try{ Class.forName(driveName); System.out.println("成功加载数据库驱动程序"); } catch(java.lang.ClassNotFoundException e){ System.out.println("加载数据库驱动程序失败"); System.out.println(e.getMessage()); return; } try{ Connection con = DriverManager.getConnection(databaseURL,user,password); System.out.println("连接数据库成功"); con.close(); } catch(SQLException e){ System.out.println("连接数据库失败"); System.out.println("SQLException:" + e.getMessage()); return; } }
}
-------------驱动是-----mysql-connector-java-3.1.13-bin.jar
成功加载数据库驱动程序
连接数据库失败
SQLException:Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused: connectSTACKTRACE:java.net.SocketException: java.net.ConnectException: Connection refused: connect
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2565)
at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at test.Test1.main(Test1.java:44)
** END NESTED EXCEPTION **Last packet sent to the server was 63 ms ago.测试类public class Test1 { public static void main(String[] args) { String driveName = "com.mysql.jdbc.Driver"; String databaseURL = "jdbc:mysql://localhost:3306/ssh"; String user = "root"; String password = "********";//此处自己的密码 try{ Class.forName(driveName); System.out.println("成功加载数据库驱动程序"); } catch(java.lang.ClassNotFoundException e){ System.out.println("加载数据库驱动程序失败"); System.out.println(e.getMessage()); return; } try{ Connection con = DriverManager.getConnection(databaseURL,user,password); System.out.println("连接数据库成功"); con.close(); } catch(SQLException e){ System.out.println("连接数据库失败"); System.out.println("SQLException:" + e.getMessage()); return; } }
}
-------------驱动是-----mysql-connector-java-3.1.13-bin.jar
java.sql.DriverManager.getConnection(DriverManager.java:207)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)原因分析:错误出于下面两句话,说明找不到合适的mysql驱动Class.forName(Configure.DRV);
conn = DriverManager.getConnection(Configure.URL);解决办法:
1)拷贝mysql-connector-java-3.1.14-bin.jar包文件到/usr/local/lib目录下cd /usr/local/lib
cp mysql-connector-java-3.1.14-bin.jar然后查看并且设置类路径
echo $CLASSPATH
:/usr/java/jdk1.6.0/lib:/usr/local/lib/mysql-connector-java-3.1.14-bin.jar2)拷贝mysql-connector-java-3.1.14-bin.jar包文件到tomcat6.0/lib/目录下3)重启动tomcat
原始错误信息:error log
java.lang.NullPointerExceptionSTACKTRACE:java.lang.NullPointerException
at com.mysql.jdbc.Connection.checkTransactionIsolationLevel(Connection.java:2015)
at com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:3920)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2657)
at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at cn.com.talented.connection.MysqlConnection.getConnection(MysqlConnection.java:25)
at cn.com.talented.dao.BlogDAO.getRecordCount(BlogDAO.java:88)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:196)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11ProtocolHttp11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpointWorker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)
java.sql.DriverManager.getConnection(DriverManager.java:207)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)原因分析:错误出于下面两句话,说明找不到合适的mysql驱动Class.forName(Configure.DRV);
conn = DriverManager.getConnection(Configure.URL);解决办法:
1)拷贝mysql-connector-java-3.1.14-bin.jar包文件到/usr/local/lib目录下cd /usr/local/lib
cp mysql-connector-java-3.1.14-bin.jar然后查看并且设置类路径
echo $CLASSPATH
:/usr/java/jdk1.6.0/lib:/usr/local/lib/mysql-connector-java-3.1.14-bin.jar2)拷贝mysql-connector-java-3.1.14-bin.jar包文件到tomcat6.0/lib/目录下3)重启动tomcat
看看服务是否启动