2011-08-05 39 views
2

私はderbyデータベースを使用してtomcatで動作するeclipseでWebアプリケーションを開発しようとしています。EclipseのDerbyに接続できません

私の問題は、私は(それはCMDのうち、正常に動作します)日食とのダービーサーバを起動することができないと私はデータベースとの接続を確立するために私のサーブレット、私はエラーを取得しようとするたびに得ることができないということです

java.sql.SQLNonTransientConnectionException: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused: connect.at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source) 
at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at com.Jieren.servlets.Authenticator.testCredentials(Authenticator.java:84) 
at com.Jieren.servlets.Authenticator.doPost(Authenticator.java:36) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 

私は接続で何かをするxmlファイルを持っていません(私はweb.xmlなど接続の管理を見てきました)が、まっすぐJavaコードで接続できるはずです私がかなり新しくなった時に学ぶ)。

私が接続するために使用するコードは次のとおりです。

Connection conn = null; 
    PreparedStatement prestat = null; 
    ResultSet pw = null; 

    try { 
     Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance(); 
    } catch (InstantiationException e) { 
     e.printStackTrace(); 
    } catch (IllegalAccessException e) { 
     e.printStackTrace(); 
    } catch (ClassNotFoundException e) { 
     e.printStackTrace(); 
    } 
    try { 
     conn = DriverManager.getConnection("jdbc:derby://localhost:1527/C:/apache-tomcat-7.0.19/Databases/Jieren;" + 
       "user=Access;" + 
       "password=Entry"); 

     prestat = conn.prepareStatement("SELECT password FROM logs WHERE username = ?"); 
     prestat.setString(1, username); 
     pw = prestat.executeQuery(); 
     if (password.equals(pw.toString())) answer = 1; 
     pw.close(); 
     pw = null; 
     prestat.close(); 
     prestat = null; 
     conn.close(); 
     conn = null; 

    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 
    finally{ 
     if (pw != null){ 
      try { pw.close();} catch (SQLException e){;} 
      pw = null; 
     } 
     if (prestat != null){ 
      try { prestat.close();} catch (SQLException e){;} 
      prestat = null; 
     } 
     if (conn != null){ 
      try {conn.close();} catch(SQLException e) {;} 
     conn = null; 
     } 
    } 

私が調べたことから、他のものがすべて正しく設定されていれば、コードが動作するはずです。日食の作品外のIJを経由してデータベースに接続しているので、私はこれを接続するために、私は日食に書く必要がある設定か何かがあるという感覚を持っています。

+0

私のアプリは、最終的に私はちょうど後でアップパッケージ化されるように、すべてを簡素化するために、実際に日食を使用していたサーバーに移動されようとしていることを考慮。 – Andy

+0

:/していない:P。日食よりもJavaのWebアプリケーションを開発するための簡単な方法がある場合、私は疑問に思って。 – Andy

答えて

3

例外は、ネットワークサーバーが実行されていないことを示しています。あなたの接続URLは、JDBCを開始すると:ダービー://ホスト名、そしてあなたがあなたのクライアントアプリケーションがネットワークサーバーへのTCP/IP接続を確立することを意味し、クライアントサーバモードで実行したいダービー語っています。どのようにセットアップするために、このドキュメントを参照してくださいネットワークサーバーを運用:http://db.apache.org/derby/docs/10.8/adminguide/

+0

おかげトンは、私はしばらくの間、これを持っていたとはかなりここから有益な答えにあきらめていました。 – Andy

+0

も参照してくださいhttp://stackoverflow.com/questions/32919136/how-to-configure-javadb-in-eclipsepart2とhttp://stackoverflow.com/questions/25141733/javadb-having-port-connection-error?rq = 1 –

関連する問題