2011-12-01 92 views
0

我正在使用eclipse上的动态web应用程序,并试图访问远程MySQL数据库。我确信所有的信息都是正确的。但我似乎无法连接到它。这里是我的getConnection方法:使用JDBC连接到远程MySQL服务器问题

public static Connection getConnection() throws SQLException { 
     Connection conn = null; 
     try{ 
      Class.forName("com.mysql.jdbc.Driver").newInstance(); 
      String url = "jdbc:mysql://50.56.81.42:3306/GUEST_BOOK"; 
      String user = "username"; 
      String password = "password"; 
      conn = DriverManager.getConnection(url, user, password); 
      System.out.println("CONNECTED"); 
     }catch(ClassNotFoundException e){ 
      e.printStackTrace(); 
     }catch(InstantiationException e){ 
      e.printStackTrace(); 
     }catch(IllegalAccessException e){ 
      e.printStackTrace(); 
     } 
      return conn; 

    } 

我想看看有什么错误,而是因为这是一个Web应用程序,我看不到任何地方的System.out.println,所以它是一种对我来说很难用这个进行调试。有关如何调试的任何建议?

+0

''密码“;'缺少'''' – triclosan

+0

顺便说一句,在Web应用程序中,您可以监视服务器错误日志中的错误 – triclosan

+0

如果您部署到集成在Eclipse中的服务器,您应该能够在Eclipse的控制台选项卡中看到它,否则,如果你正在导出一个WAR并手动将其部署到外部服务器上,那么是的,你只需要读取它的日志。 – BalusC

回答

0

您的MySQL服务器是否可以从服务器之外访问?我问,因为可以禁用MySQL服务器的外部连接,更多信息是here

您的凭据可以(至少是其格式)。

否则,您将创建Class.forName("com.mysql.jdbc.Driver").newInstance();,但不会将其指定给conn变量。

0

在Web应用程序中,System.out打印到服务器的日志文件。如果您使用的是tomcat,请参阅tomcat基本目录内的logs目录。

+0

我可以在哪里从eclipse中看到这个? – adit

+0

如果你已经用eclipse配置你的服务器,并且已经从eclipse启动服务器,所有的日志输出将显示在“console”视图中。 –

0

如果您仍在努力在日志中看到系统,试着从独立的java类中测试该类,您将清楚地看到问题所在。