import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Connsql {/**
* @param args
*/
public static void main(String[] args)  
{
  // TODO Auto-generated method stub try { 
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"). 
newInstance(); 
System.out.println("数据库驱动程序注册成功!"); 
String url = 
"jdbc:sqlserver://121.12.12.12:1433;DatabaseName=test"; 
String user = "test"; 
String password = "test"; 
Connection conn = DriverManager.getConnection(url, user, password); 
System.out.println("数据库连接成功");  } 
catch (Exception e) { 
e.printStackTrace(); 
System.out.println("数据库连接失败"); 
}
}}
运行程序得到:数据库驱动程序注册成功!
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败。 java.net.ConnectException: Connection timed out: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Connsql.main(Connsql.java:26)
数据库连接失败为什么?