Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4224 connectés 

  FORUM HardWare.fr
  Programmation

  [JAVA + SQL] installation...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA + SQL] installation...

n°96727
sanglier04
Posté le 04-02-2002 à 21:36:05  profilanswer
 

lut  
 
jai un projet a faire qui utilise du sql avec du java.
j'aimerai savoir comment il est possible de mettre en place une communication entre JAVA et un SGBD ( je precise que le serveur ou l'on travail est un ibm avec AIX dessus ou l'on a oracle 8, postgreeSQL ou encore MySQL) . En regardant les docs dispo sur le site de sun je me suis apercue qu'il fallait utiliser des "drivers", mais je ne sais po s'il sont vraiment necessaires ni comment les obtenires ainsi que les installer.
 
si vous pouviez me clarifier les choses se serai sympa, merci !

mood
Publicité
Posté le 04-02-2002 à 21:36:05  profilanswer
 

n°96729
gfive
Posté le 04-02-2002 à 21:46:02  profilanswer
 

Effectivement, pour accéder à une base de données depuis Java, il va te falloir un driver, et l'API jdbc. Pour plus d'infos, va voir là :  
http://java.sun.com/products/jdbc/
 
Tu y trouvera (en anglais) quelques explications sur comment ça marche, un moteur de recherche de drivers, en fonction des bases à utiliser, etc, etc..
 
Bon courage.

n°96730
veryfree
Posté le 04-02-2002 à 21:55:00  profilanswer
 

ca c du gpl
medite  :D  
import java.awt.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
 
 
 
/**
 * La classe <tt>MySQLUtilities</tt> permet de créer une connexion vers un serveur <i>MySQL</i>.<br>
 * et d'effectuer des operations sur cette connection.
 **/
 
public class MySQLUtilities
{
 private Connection connection;
 private String host;
 private String port;
 private String user;
 private String url;  
 private String base;
 
 /**
  * Construit une connection vers un serveur <i>MySQL</i> en utilisant les données passées en paramètre.
  * @param _host le nom de serveur vers lequel se fera la connection (uniquement à des fins d'affichage)
  * @param _port le port sur lequel de fera la connection (uniquement à des fins d'affichage)
  * @param _user le nom de l'utilisateur (uniquement à des fins d'affichage)
  **/
 public MySQLUtilities( String host,String database, String user,String pass)  
 {  
  this.user   = user;
  this.host        = host;
  this.base   = database;
  try  
  {
        Class.forName("org.gjt.mm.mysql.Driver" ).newInstance();
        String url = "jdbc:mysql://" + host + "/" + base + "";  
   try  
   {connection = DriverManager.getConnection(url,user,pass);  
   }catch (SQLException exception)  
     {System.out.print("exception :" + exception + "\n" );}
                 }catch (Exception exception)  
     {
     System.out.print("exception :" + exception + "\n" );
                 }  
 }  
   
 
 /**
  * Renvoie le contenu d'une table
  *
  * @return Le vecteur contenant les nom des champs.
  *
  * @param _database la base de données d'où est extraite la table
  * @param _table la table dont les données sont à extraire.
  **/
 public Vector getTableData(String _table)
 {
  String table = new String(_table);
  Vector resultat = new Vector();
   
  try
  {
   Statement getTableDataStatement = connection.createStatement();
   ResultSet getTableDataResultSet = getTableDataStatement.executeQuery("SELECT * FROM " + table);
   ResultSetMetaData getTableDataResultSetMetaData = getTableDataResultSet.getMetaData();
   
   while(getTableDataResultSet.next())
   {
    Vector temp = new Vector();    
   
    for(int cptCols = 1; cptCols <= getTableDataResultSetMetaData.getColumnCount(); cptCols++)
    {
     temp.add(getTableDataResultSet.getString(cptC
 
ols));
    }
   
    resultat.add(temp);
   }
   
   getTableDataResultSet.close();
   getTableDataStatement.close();
  }
  catch (SQLException exception)
  {
  System.out.print("exception :" + exception + "\n" );
  }
   
  return resultat;
 }
 
 /*
 *
 *
 *
 */
 
 public Vector getListOfTables()
 {
  Vector resultat = new Vector();
   
  try  
  {
            Statement getListOfTablesStatement = connection.createStatement();
   ResultSet getListOfTablesResultSet = getListOfTablesStatement.executeQuery("SHOW TABLES FROM " + base);
     
                 while (getListOfTablesResultSet.next())  
   {
    resultat.add(getListOfTablesResultSet.getString(1));
   }
   
                 getListOfTablesResultSet.close();
                 getListOfTablesStatement.close();
            }
            catch (SQLException exception) {
             System.out.print("exception :" + exception + "\n" );
  }
   
  return resultat;
 }
   
 /**
  * Renvoie les noms des champs d'une table
  *
  * @return Le vecteur contenant les noms des champs.
  *
  * @param _database la base de données d'où provient la table
  * @param _table la table dont le nom de champs sont à extraire.
  **/
 public Vector getColumnsName( String _table)
 {
  String table = new String(_table);
  Vector resultat = new Vector();
   
  try
  {
   Statement getColumnsNameStatement = connection.createStatement();
   ResultSet getColumnsNameResultSet = getColumnsNameStatement.executeQuery("SELECT * FROM " +  table + " LIMIT 1" );
   ResultSetMetaData getColumnsNameResultSetMetaData = getColumnsNameResultSet.getMetaData();
       
   for(int cptCols = 1; cptCols <= getColumnsNameResultSetMetaData.getColumnCount(); cptCols++)
   {
    resultat.add(getColumnsNameResultSetMetaData.g
 
etColumnName(cptCols));
   }
   
   getColumnsNameResultSet.close();
   getColumnsNameStatement.close();
  }
  catch (SQLException exception)
  {
  System.out.print("exception :" + exception + "\n" );
  }
   
  return resultat;
 }
   
 /**
  * Retourne l'identifiant de la connexion vers le serveur <i>MySQL</i>.
  **/
 public Connection getConnection()
 {
  return connection;
 }
 
 
 
 /**
  * Retourne le nom du serveur.
  **/
 public String getHost()
 {
  return host;
 }
  /**
  * Retourne le nom du serveur.
  **/
 public String getDataBaseName()
 {
  return base;
 }
 
 
 /**
  * Retourne le port de la connecion vers le serveur.
  **/
 public String getPort()
 {
  return port;
 }
 
 
 
 /**
  * Retourne le nom de l'utilisateur connecté sur le serveur.
  **/
 public String getUser()
 {
  return user;
 }
 
 
}

 

[edtdd]--Message édité par veryfree--[/edtdd]

n°96731
veryfree
Posté le 04-02-2002 à 21:56:56  profilanswer
 

c commenté en +
et puis si t a des questions...

n°96746
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 04-02-2002 à 22:39:53  profilanswer
 

veryfree a écrit a écrit :

c commenté en +
et puis si t a des questions...  




 
veryfree powaaa  :sol:


---------------
What is popular is not always right, what is right is not always popular :D
n°96751
Roco
Posté le 04-02-2002 à 22:57:10  profilanswer
 

Trop compliqué ton script VeryFree !  :ouch:  
 
Voilà un truc bcp plus simple pour appréhender le pb :
 
import java.sql.*;
 
public class Test
{
 public static void main(String []args)
 {  
        try  
  {
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );
  }  
 
  catch(java.lang.ClassNotFoundException e)  
  {
              System.err.print("ClassNotFoundException: " );
              System.err.println(e.getMessage());
         }
 
   try  
  {
   Connection con=DriverManager.getConnection("jdbc:odbc:japon" );
 
   Statement stmt=con.createStatement();
 
   ResultSet rs=stmt.executeQuery("SELECT * FROM manga;" );  
   
   while(rs.next())
   {
    String Titre=rs.getString("titre" );
    String Numero=rs.getString("numero" );
    String Auteur=rs.getString("auteur" );
    String Genre=rs.getString("genre" );
    String Note=rs.getString("note" );
   
    System.out.println(Titre);
    System.out.println(Numero);
    System.out.println(Auteur);
    System.out.println(Genre);
    System.out.println(Note);
 
   }
 
   con.close();
          }  
  catch(SQLException ex)  
  {
               System.err.println("SQLException: " + ex.getMessage());
         }  
 }
}
 
Voilà un script pour récupérer les infos d'une petite table access (sur des mangas avec le titre, le nom de l'auteur, etc...)
 
Jpense que pour débuter et se faire une idée sur l'utilisation du package java.sql un ptit exemple rapide vaut mieux qu'un bon script rigoureux :D  
 
Sinon tu es sur que c'est utile d'utiliser des vecteurs (bouhou po envie de me casser le cul à ce point...), moi ki pensait m'en tirer avec des tableaux... ms bon c vrai ke mes bdd de projets ne sont pas bien grosses!
 
Heu sinon si tu veux me donner un exemple d'utilisation de ces scripts avec un affichage du résultat des requêtes dans un JTable (swing) TU SERAS VRAIMENT LE BIENVENUE !!!

n°97150
sanglier04
Posté le 06-02-2002 à 07:48:47  profilanswer
 

merci a tous, ca marche ! :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [JAVA + SQL] installation...

 

Sujets relatifs
[java] un moteur de recherche par methodes ca vous interesse?[ SQL ] Requête avec un min()
[Java] applet Vs Application[Java] Comment faire un multi thread
[Java] Comment créer un exécutable d'un prog java ?[Access 97] SQL et ligne de commande
[SQL Server 7] HELP PLEASE[ JAVA ] Comment compiler sous linuxMandrake 8.1
[JAVA] Interfaces Graphiques[Java] - Programmer un jeu ?
Plus de sujets relatifs à : [JAVA + SQL] installation...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR