IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Distribuer une application Java utilisant une BD SQL


Sujet :

avec Java

  1. #1
    Invité
    Invité(e)
    Par défaut Distribuer une application Java utilisant une BD SQL
    Bonjour à tous !

    J'ai développé une application Java qui accède à une base de données MySQL créée à l'aide d'EasyPHP.
    J'aimerais maintenant distribuer mon application, le but étant qu'un utilisateur lambda puisse l'utiliser sans avoir à installer EasyPHP.
    Est-ce possible, ou dois-je m'orienter vers un autre système de sauvegarde des données ?

    Merci d'avance pour vos réponses.

    Axel

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur Full Stack
    Inscrit en
    Janvier 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur Full Stack
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 26
    Points : 37
    Points
    37
    Par défaut
    Partant du principe que "Tout est possible", alors c'est sûrement possible !
    Une suggestion, la base est sur un autre poste, tu pourrais faire par éxemple comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     class MaBase
    {   
      private String url="";
      private String user="";
      private String password="";
      private String nomBase="";
     
      //Déclaration des composants de connections
     	private Connection cnx;private Statement state;
     	private ResultSet res;private StringBuffer sql;
     //Fin_Déclaration des composants de connections
     
      //String[] Contenu=new String[100];
      public MaBase(String url,String user,String password,String nomBase)  
      {
     	this.url=url; 	
     	this.password=password;
     	this.user=user;
     	this.nomBase=nomBase;
     
      }
        //Méthode de connection
     public void Connecter()
     {
       cnx=null;state=null;
       try  	
       {   	
     
       	Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     
       	//La chaîne de connection "connectionString"
       	String connectionString = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ="+
       	url+nomBase;
       	;
        cnx = DriverManager.getConnection(connectionString,user,password);
     
     
        state=cnx.createStatement();
        JOptionPane.showMessageDialog(null,"Connection à la base réussie avec succés !"+"\n"+
        									"             Base access !");
       }
     
       catch(ClassNotFoundException e04)
       {
       	JOptionPane.showMessageDialog(null,"échec du chargement du pilote d'accés à access !");
       }  
       catch(SQLException e05)
       {
       	 //JOptionPane.showMessageDialog(null,"Base access non accessible !");
       	try
       	{
       		//"org.apache.derby.jdbc.EmbeddedDriver"
       		Class.forName("com.mysql.jdbc.Driver");
       	    JOptionPane.showMessageDialog(null,"pilote d'accés à MySQL chargé !");
       		String connectionString = "jdbc:mysql://"+url+"/"+nomBase;
       		cnx = DriverManager.getConnection(connectionString,user,password);
       		state=cnx.createStatement();
            JOptionPane.showMessageDialog(null,"Connection à la base réussie avec succés !"+"\n"+
        										"			Base MySQL !");
       	}
       	catch(ClassNotFoundException e06)
       	{
       		JOptionPane.showMessageDialog(null,"échec du chargement du pilote d'accés à MySQL !");
       	}
     
       	catch(SQLException e07)
       	{
       		JOptionPane.showMessageDialog(null,"Base non accessible ou non reconnue !");
       	}
     
       }
      }
    Essai de comprendre, peut être que ca t'aidera! En bref, on essai de se connecter à la base en essayant si c'est une base access,si ca ne marche pas, on essai si c'est une base MySQl!
    Je ne sais pas si ça pourrait t'aider!

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 110
    Points : 91
    Points
    91
    Par défaut
    C'est sur que c'est possible, premièrement tu crée un objet qui permet d'entrer les données utilisateurs ensuite tu implémentes dans ton programme les fonctionnalités permettant d'utiliser ta DB.

    Lorsque ton projet sera terminé tu pourras effectuées certaines actions via ton projet java ...

    tu peux implémenter tes fonctionnalité par JDBC sinon si tu connais des framework de persistance c'est idem.

    ai-je répondu à ta question ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    J'y vais de ma réponse également.
    Je ne sais pas à quoi sert ta BD exactement mais je suis pas sûr que tu ais fait le bon choix avec MySQL.
    Enfin bref, si tu veux embarquer un server MySQL dans ton appli java sans demander à l'utilisateur d'en installer un, il existe Connector/MXJ (http://dev.mysql.com/doc/refman/5.0/...ector-mxj.html). C'est à mon avis la solution la plus simple.
    Pour ma part j'utilise assez souvent SQLite comme BD locale (pas de server et le driver JDBC est assez complet pour ce que je fais).

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci pour vos réponses.

    L'idée serait donc d'embarquer un serveur MySQL dans l'appli java.

    JKane parle d'une base de données Access. Il me semble qu'une base de ce type est stockée dans un fichier. Est-ce le genre de meilleur choix dont tu parles MagicMagnet ?

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,



    Tu as de très gros besoin en BD ?
    Car sinon je pense que la meilleure solution serait d'opter pour une base de données embarqué tel que Derby/Java DB ou HSQLDB.

    Le driver JDBC contient en fait une véritable base de données basé sur des fichiers. La BD se lance lors de la connexion

    Il suffit de spécifier dans l'URL JDBC le chemin du fichier qui contiendra les données de la BD, par exemple pour Derby :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Chargement du driver JDBC de Derby :
    Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
    // Ouverture de la connexion :
    Connection con = DriverManager.getConnection("jdbc:derby:c:/directory/myDBFile");
    Rien à installer pour l'utilisateur

    a++

  7. #7
    Invité
    Invité(e)
    Par défaut
    OK, je vais voir tout ça de plus près.
    En tout cas, j'y vois déjà plus clair, merci beaucoup !

    A bientôt.

    Axel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/02/2013, 23h30
  2. recharger le webapps de tomcat en utilisant une application java
    Par CherInfo dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 30/03/2011, 18h22
  3. Passer d'une application java classique à une application Web
    Par Xalendar dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/02/2009, 20h57
  4. Réponses: 5
    Dernier message: 31/07/2007, 16h34
  5. Réponses: 1
    Dernier message: 09/03/2007, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo