Java 无法创建到数据库服务器的连接-Eclipse MySQL错误
你能帮我吗?我已经完成了jdbc构建路径,我的DB存储时间已经存在 我的班级:Java 无法创建到数据库服务器的连接-Eclipse MySQL错误,java,android,mysql,eclipse,Java,Android,Mysql,Eclipse,你能帮我吗?我已经完成了jdbc构建路径,我的DB存储时间已经存在 我的班级: package br.com.savetime; import java.sql.*; public class CriarConexao { private static Connection con = null; public static Connection abrirBanco(){ Connection con; try{
package br.com.savetime;
import java.sql.*;
public class CriarConexao {
private static Connection con = null;
public static Connection abrirBanco(){
Connection con;
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/savetime", "root", "root");
System.out.println("conectando");
return con;
}
catch(ClassNotFoundException cnfe){
System.out.println("driver nao encontrado: " + cnfe.getMessage());
return null;
}
catch(SQLException sql){
System.out.println("SQLException: " + sql.getMessage());
System.out.println("SQLState: " + sql.getSQLState());
System.out.println("Erro: " + sql.getErrorCode());
System.out.println("StackTrace: " + sql.getStackTrace());
return null;
}
catch(Exception e){
System.out.println(e.getMessage());
return null;
}
}
public static void fecharBDcon(){
try{
con.close();
}
catch(Exception e){
System.out.println("erro ao fechar o banco" + e.getMessage());
}
}
}
我的错误是:
06-17 03:55:07.139: I/System.out(1367): SQLException: Could not create connection to database server.
06-17 03:55:07.139: I/System.out(1367): SQLState: 08001
06-17 03:55:07.139: I/System.out(1367): Erro: 0
06-17 03:55:07.149: I/System.out(1367): StackTrace: [Ljava.lang.StackTraceElement;@41bc1af0
您的代码运行良好,只需在classpath中提供
mysql connector.jar
。我们可以找到它,我尝试的代码是:
import java.sql.*;
public class ConnectionTest {
private static Connection con = null;
public static Connection abrirBanco(){
Connection con;
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "welcome");
System.out.println("conectando");
return con;
}
catch(ClassNotFoundException cnfe){
System.out.println("driver nao encontrado: " + cnfe.getMessage());
return null;
}
catch(SQLException sql){
System.out.println("SQLException: " + sql.getMessage());
System.out.println("SQLState: " + sql.getSQLState());
System.out.println("Erro: " + sql.getErrorCode());
System.out.println("StackTrace: " + sql.getStackTrace());
return null;
}
catch(Exception e){
System.out.println(e.getMessage());
return null;
}
}
public static void fecharBDcon(){
try{
con.close();
}
catch(Exception e){
System.out.println("erro ao fechar o banco" + e.getMessage());
}
}
public static void main(String arr[])
{
System.out.println("Making connection..");
Connection connection = ConnectionTest.abrirBanco();
System.out.println("Connection made...");
}
}
这只是mysql连接器jar文件的不匹配。只要用更高的版本更新jar文件,或者如果您使用的是maven,则更新依赖项即可。我用6.0.6版本更新了pom.xml中的依赖项,它成功了。“SQLException:无法创建到数据库的连接”-似乎相关您的类路径中有驱动程序jar吗?请阅读:@RavinderReddy的链接现在已失效。试试这个:@Wodin:是的,我发布的是MySQL版本5.0。似乎对5.0版和更早版本的文档的访问被撤销。非常感谢,正如您所说,我的连接器是错误的。但现在,出现了以下错误:SQLException:通信链路故障,原因是底层异常:I/System.out(1153):**开始嵌套异常**I/System.out(1153):android.os.NetworkOnMainThreadException I/System.out(1153):STACKTRACE:android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)I/System.out(1153):在java.net.InetAddress.lookupHostByName(InetAddress.java:385)你能再帮我一次忙吗?如果你发布完整的堆栈跟踪和失败的Classis,这将非常有用,我认为在这里可以更好地看到