与数据库的连接失败:java

时间:2017-01-27 10:15:38

标签: java mysql jdbc

我试图通过java代码连接到数据库。

以下是我的代码片段:

import java.sql.*;

public class FirstExample {
 // JDBC driver name and database URL
 static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
 static final String DB_URL = "jdbc:mysql://hostname:port/ourDatabasename;integratedSecurity=true;";


 //  Database credentials
 static final String USER = "myUsername";
 static final String PASS = "myPass";

 public static void main(String[] args) {
 Connection conn = null;
 Statement stmt = null;
 try{
    //STEP 2: Register JDBC driver
    Class.forName("com.mysql.jdbc.Driver");

//STEP 3: Open a connection
    System.out.println("Connecting to database...");
    conn = DriverManager.getConnection(DB_URL, USER, PASS);
.........................

并在最后一行conn = DriverManager.getConnection(DB_URL, USER, PASS);上,程序抛出异常:

  

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通讯链接失败   成功发送到服务器的最后一个数据包是0毫秒前。驱动程序未收到来自服务器的任何数据包。

我对此主机名有ping。 Telnet到主机名,端口成功。我可以登录到我们的数据库名称'使用Windows凭据:myUsername / myPass通过Microsoft SQL Server Management Studio,但无法通过此Java代码进行连接。我有:' mysql-connector-java-5.1.40-bin'并将其添加到我的项目中。

我错过了什么?您对如何解决这个问题有任何想法吗?

1 个答案:

答案 0 :(得分:-1)

你从某个地方复制过这条线吗?

static final String DB_URL = "jdbc:mysql://hostname:port/ourDatabasename;integratedSecurity=true;";

当由于主机名和端口号问题导致数据库无法访问时,通常会出现此异常。你正确使用它们吗? 例如。本地主机:3306 看起来像是从

传递参数
conn = DriverManager.getConnection(DB_URL, USER, PASS);

DB_URL变量不包含连接数据库的正确地址。 希望这会有所帮助!!