2010-11-04 3 views
2

instruction SQL n'est pas executedcom.mysql.jdbc.CommunicationsException: lien Communications> échec en raison d'une exception sous-jacente:erreurs tout essayer d'exécuter ExecuteQuery/instructions préparées()

** BEGIN IMBRIQUEES ** EXCEPTION

java.net.ConnectException MESSAGE: Connection refused

STACKTRACE:

java.net.ConnectException: Connexion refusé à java.net.PlainSocketImpl.socketConnect (native Method) à java.net.AbstractPlainSocketImpl.doConnect (AbstractPlainSocketImpl.java:310) à java.net.AbstractPlainSocketImpl.connectToAddress (AbstractPlainSocketImpl.java:176) à java.net.AbstractPlainSocketImpl.connect (AbstractPlainSocketImpl.java:163) à java.net.SocksSocketImpl.connect (SocksSocketImpl.java:384) à java.net.Socket.connect (Socket.java:546) au java.net.Socket.connect (Socket.java:495) au java.net.Socket. (Socket.java:392) à java.net.Socket. (Socket.java:235) à com.mysql.jdbc.StandardSocketFactory.connect (StandardSocketFactory.java:256) à com.mysql.jdbc.MysqlIO. (MysqlIO.java : 271) à com.mysql.jdbc.Connection.createNewIO (Connection.java:2771) à com.mysql.jdbc.Connection (Connection.java:1555) à com.mysql.jdbc.NonRegisteringDriver. .Connecter (NonRegisteringDriver.java:285) à java.sql.DriverManager.getConnection (DriverManager.java:620) à java.sql.DriverManager.getConnection (DriverManager.java:200) à org.jtdemo.preparedst.main (preparedst.java:18)

** FIN ** IMBRIQUEES EXCEPTION

dernier paquet envoyé au serveur était il y a 1 ms. à com.mysql.jdbc.Connection.createNewIO (Connection.java:2847) à com.mysql.jdbc.Connection. (Connection.java:1555) à com.mysql.jdbc.NonRegisteringDriver.connect (NonRegisteringDriver .java: 285) à java.sql.DriverManager.getConnection (DriverManager.java:620) à java.sql.DriverManager.getConnection (DriverManager.java:200) à org.jtdemo.preparedst.main (preparedst.java:18)

Mon programme est


package org.jtdemo; 
import java.sql.*; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Statement; 

public class preparedst 
{ 
//private static final String y = null; 

public static void main(String arg[])throws Exception 
{ 
try 
{ 
    Class.forName("com.mysql.jdbc.Driver"); 
    String url="jdbc:mysql://localhost:3036/mylib_db"; 
    Connection con=DriverManager.getConnection(url,"nikki","dkm007"); 
    String query = " select c.sub_category, b.title,b.author,b.b_key,ta.available_copies" + 
    "from Book_dim b,Category_list c,item_availablity_fact ta" + 
    " where sub_category = 'Mathematics' and " + 
    " c.category_id=b.category_id and " + 
    " b.b_key=ta.b_key " ; 
    /*ps = con.prepareStatement(" select c.sub_category, b.title,b.author,b.b_key,ta.available_copies" + 
    "from Book_dim b,Category_list c,item_availablity_fact ta" + 
    " where sub_category = ? and " + 
    " c.category_id=b.category_id and " + 
    " b.b_key=ta.b_key ");*///pass sql query ,no parameter passing 
    //ps.String(1, "Mathematics"); // set input parameter 
    Statement stmt = con.createStatement(); 
    ResultSet rs = stmt.executeQuery(query) ; 
    while(rs.next()) 
    { 

    String scat = rs.getString(1); 
    String ttl = rs.getString(2); 
    String auth = rs.getString(3); 
    int bkey = rs.getInt(4); 
    int avcop = rs.getInt(5); 
    //String b_key; 
    System.out.println("subcategory:"+scat+"title:"+ttl+"author:"+auth+"bookkey:"+bkey+"availcopies:"+avcop); 

    } 

    con.close(); 
    //ps.close(); 
} 
    catch(Exception e) 
     { 
     System.out.println("SQL statement is not executed"); 
     e.printStackTrace(); 
     } 

    } 
} 

J'utilise JDK 1.6, mysql-connector-java-5.0.8-bin.jar, Eclipse Version: 3.5.2.

Veuillez aider .................

Répondre

0

Cela ressemble à un problème réseau. Il semble que la base de données n'écoute pas sur le port auquel vous vous connectez. Je vérifierais que le port écoute bien (via netstat), vérifie tout anti-virus, pare-feu, programmes de sécurité, etc. Si tout cela revient bien alors peut-être qu'un redémarrage de votre programme de base de données (mysql) ferait l'astuce.

2

L'exception vous indique le problème. Si votre connexion a été refusée, il y a un problème avec la configuration du client ou du serveur. La première chose à vérifier est donc l'URL JDBC. Vous devez vérifier les points suivants:

  • Le serveur est à localhost
  • Le serveur sert sur le port 3036 (le port par défaut pour MySQL est 3306, donc cela peut être votre problème)
  • Vous avez un base de données sur ce serveur nommé « mylib_db »
  • Votre nom d'utilisateur est correct
  • Votre mot de passe est correct (dans l'avenir, vous voudrez peut-être utiliser un texte d'espace réservé comme « password »)

Si toutes ces informations sont correctes, vous devez examiner votre serveur pour vous assurer que 'nikki' est autorisé à se connecter à la base de données via le réseau.

Questions connexes