[Java/SQLserver] Connexion en java a une base sql server

Connexion en java a une base sql server [Java/SQLserver] - Java - Programmation

Marsh Posté le 23-02-2009 à 15:42:28    

Bonjour à tous,  
 
je souhaite me connecter à l'aide du langage Java à ma base de donnée Server SQL.  
 
Cependant, je ne trouve plus comment le faire.
J'ai réalisé un bout de code qui ne fonctionne pas ... le voici :  
 

Code :
  1. import java.sql.*;
  2. public class centflux
  3. {
  4. public static void main(String args[])
  5. {
  6. try
  7. {
  8. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );
  9. String sourceURL="jdbc:odbc:cent-flux";
  10. Connection databaseConnection = DriverManager.getConnection(sourceURL);
  11. Statement stat=databaseConnection.createStatement() ;
  12. ResultSet req1=stat.executeQuery("SELECT nom_srv_com, ad_ip_srv_com from serveur_com" ) ;
  13. while(req1.next())
  14. System.out.println(req1.getString("nom_srv_com" )+" "+req1.getString("ad_ip_srv_com" )) ;
  15. }
  16. catch(ClassNotFoundException cnf)
  17. {
  18. System.err.println(cnf);
  19. }
  20. catch(SQLException sqle)
  21. {
  22. System.err.println(sqle);
  23. }
  24. }
  25. }


 
 
Message d'erreur :  
"Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection."
 
La classe que j'ai créee : centflux est une classe par défaut  
J'ai parametré un driver ODBC dans outils d'administration windows avec user + mdp ...
 
Pourriez vous m'aider ?  
 
D'avance merci !

Reply

Marsh Posté le 23-02-2009 à 15:42:28   

Reply

Marsh Posté le 23-02-2009 à 17:00:04    

Re bonjour, j'ai essayé avec un nouveau code, le message d'erreur est différent :  
 

Code :
  1. import java.sql.*;
  2. public class centflux {
  3. public static void main(String args[]) {
  4.    String url = "jdbc:odbc:centflux";
  5.    Connection con = null;
  6.    try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );
  7.         con = DriverManager.getConnection(url,"","" );
  8.         Statement requete = con.createStatement();
  9.         ResultSet resultatDest = requete.executeQuery("select * from serveur_com" );
  10.        
  11.  while (resultatDest.next()) {
  12.                        System.out.println(resultatDest.getInt(1)+"  "+resultatDest.getString(2));
  13.                        };
  14.        }
  15.   catch(Exception e) {  System.out.println("Exception" );  }
  16.   finally {
  17.      try {con.close();}
  18.     catch(SQLException e) {e.printStackTrace();}
  19.     }
  20. }
  21. }


 
Message d'erreur :  
Exception
Exception in thread "main" java.lang.NullPointerException
 at centflux.main(centflux.java:18)
 
provenant de la ligne "Connection con = null;" il me semble :)
 
 
need help :)  

Reply

Marsh Posté le 24-02-2009 à 10:29:04    

personne ne peut m'aider ?

Reply

Marsh Posté le 24-02-2009 à 13:18:40    

Ce n'est certainement pas la ligne "Connection con = null;" qui pose problème...
Poste nous le vrai code avec l'exception associée.
Et sinon tu es obligé de passer par ODBC pour ta connexion ou pas ?


---------------
Light is right
Reply

Marsh Posté le 24-02-2009 à 17:30:11    

Salutation,
 
j'ai fait de nombreuses recherches sur internet pour utiliser une autre méthode de connexion qui, cette fois ci fonctionne a merveille :  
 

Code :
  1. import java.sql.*;
  2. public class centflux {
  3.       public static void main(String[] args) {
  4.             Connection conn = null;
  5.             Statement stmt = null;
  6.             ResultSet rs = null;
  7.             try {
  8.                  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver" );
  9.                  String connectionString ="jdbc:sqlserver://x.x.x.x;database=xxx;user=xxx;password=xxx";
  10.                  conn = DriverManager.getConnection(connectionString);
  11.                  stmt = conn.createStatement();
  12.                  rs = stmt
  13. //debut requete sql
  14. //fin requete sql
  15.             } catch (Exception e) {
  16.                   System.out.println(e.getMessage());
  17.                   e.printStackTrace();
  18.             } finally {
  19.                   if (rs != null)
  20.                         try { rs.close(); } catch (Exception e) { }
  21.                   if (stmt != null)
  22.                         try { stmt.close(); } catch (Exception e) { }
  23.                   if (conn != null)
  24.                         try { conn.close(); } catch (Exception e) { }
  25.            }
  26.       }
  27. }


Message édité par raxzor le 24-02-2009 à 17:32:11
Reply

Marsh Posté le 24-02-2009 à 17:31:02    

Salutation,
 
j'ai fait de nombreuses recherches sur internet pour utiliser une autre méthode de connexion qui, cette fois ci fonctionne a merveille :  
 

Code :
  1. import java.sql.*;
  2. public class centflux {
  3.       public static void main(String[] args) {
  4.             Connection conn = null;
  5.             Statement stmt = null;
  6.             ResultSet rs = null;
  7.             try {
  8.                  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver" );
  9.                  String connectionString ="jdbc:sqlserver://x.x.x.x;database=XXX;user=XXX;password=XXX";
  10.                  conn = DriverManager.getConnection(connectionString);
  11.                  stmt = conn.createStatement();
  12.                  rs = stmt
  13. //debut requete sql
  14. //fin requete sql
  15.             } catch (Exception e) {
  16.                   System.out.println(e.getMessage());
  17.                   e.printStackTrace();
  18.             } finally {
  19.                   if (rs != null)
  20.                         try { rs.close(); } catch (Exception e) { }
  21.                   if (stmt != null)
  22.                         try { stmt.close(); } catch (Exception e) { }
  23.                   if (conn != null)
  24.                         try { conn.close(); } catch (Exception e) { }
  25.            }
  26.       }
  27. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed