无法将tomcat连接到MSSQL 2008 R2

时间:2012-07-06 14:53:47

标签: sql java-ee tomcat

我正在尝试将我的tomcat服务器连接到MS SQL 2008 R2服务器。网络连接不是问题所在。

我可以在一个简单的Java应用程序中成功连接,但是当我尝试通过tomcat7连接时(在我的Windows 7工作站以及我的Ubuntu 12.04服务器上试过。

我可以在两个tomcat服务器上运行示例servlet。

我的代码:

 public class DBConnector{`
 private java.sql.Connection  con = null;`
 private final String url = "jdbc:sqlserver://my.domain.com:";`

// PORT NUMBER,CREDENTIALS等。这些都适用于标准的Java应用程序。

public DBConnector(){}

private String getConnectionUrl(){
    return url+ portNumber +";databaseName="+databaseName+";selectMethod="+selectMethod+";";
}

private java.sql.Connection getConnection(){
     try{
          Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
          con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
          if(con!=null) System.out.println(getConnectionUrl());
     }catch(Exception e){
          e.printStackTrace();
          System.out.println("Error Trace in getConnection() : " + e.getMessage());

    }
     return con;
 }


    public void queryDB(){

    try{
        System.out.println("Connecting...");
         con= this.getConnection();
         if(con!=null){
             System.out.println("NotNull");

            java.sql.Statement statement = con.createStatement();
            String query="Select * from CAFE";            
            java.sql.ResultSet rs = null;
            System.out.println("made rs");
            rs = statement.executeQuery(query);
            System.out.println("Established what it is");
            java.sql.ResultSetMetaData rsmd = rs.getMetaData();
            System.out.println("Getting MetaData");`
 //Omitted the rest.

它在tomcat中停止响应:rs = statement.executeQuery(query);因为在控制台上,我从未看到“确定它是什么”。

我正在为Java 6使用正确的mssql驱动程序版本。

我对此很新,所以很可能在这里犯了一个明显的错误。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

修正了它。降级为:

java -version

java版“1.6.0_24”

现在正常工作。 那些通过搜索引擎来到这里的人;参考这个: Driver.getConnection hangs using SQLServer driver and Java 1.6.0_29