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

JDBC Java Discussion :

quel type de BDD utiliser pour hebergeur gratuit


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 855
    Par défaut quel type de BDD utiliser pour hebergeur gratuit
    Bonjour,

    Je suis entrain de développer un petit logiciel client pour se connecter à une BDD : la BDD sera stockée chez un hébergeur de site web gratuit => a votre avis, quel type de BDD dois-je utiliser pour être compatible avec la majorité des hebergeur gratuits ? mySQL ?

    sinon, gérer tous les types de BDD, c'est compliquer à faire ?

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    voir avec ton hébergeur ce qu'il propose. Je ne connais pas beaucoup d'hébergeur gratuit qui proposent des serveurs java, accessoirement!

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 855
    Par défaut
    Désolé pour mon manque de connaissances dans les BDD.

    Ce que je veux c'est juste créer un client qui puisse être utiliser par un maximum de personnes (peu importe le type de la BDD).
    Lorsque je regarde les listes des hébergeurs gratuits, la quasi totalité propose du PHP+MySQL. En java, ne peut-on pas se connecter directement sur la BDD MySQL sans passer par la couche PHP (vu ta réponse, j'ai l'impression que non) ?

  4. #4
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par boboss123 Voir le message
    Je suis entrain de développer un petit logiciel client pour se connecter à une BDD : la BDD sera stockée chez un hébergeur de site web gratuit
    C'est un peu incompatible tout ceci : la plupart des hébergeurs gratuits limitent l'accès à leurs BDD à leurs serveurs. Donc tu ne pourras pas y accéder depuis un poste client...

    Tu as vraiment besoin d'une BDD commune qui soit hébergé ? C'est quoi comme application ?

    Citation Envoyé par boboss123 Voir le message
    sinon, gérer tous les types de BDD, c'est compliquer à faire ?
    Non... A partir du moment où tu utilises du SQL standard et que tu fais cela proprement (privilégier les PreparedStatement, éviter le SQL "propriétaire", etc.), le changement de BDD se fait simplement en changeant de drivers et d'URL de connexion...


    a++

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 855
    Par défaut
    voici la description de mon appli : http://www.developpez.net/forums/d99...hie-mise-jour/

    Ce que je voulais faire c'est avoir un client qui s'occupe de crée une BDD sur un serveur avec les champs qui vont bien et qui s'occupe du remplissage de celle-ci.
    Et un autre client qui ne fait que de la lecture et qui fait des recherche dans la BDD.
    => les deux clients ne pourraient être qu'une seul appli avec des modes différents à activer/désactiver

    ... Donc peut-être faut-il mieux copier à chaque fois la BDD complète en local mais je ne sais pas trop comment faire pour la mettre à jour (je ne me rends pas trop compte de la taille que pourra avoir la BDD)

    Remarque : une autre solution serait de faire un client HTTP et de se connecter à un serveur PHP+MySQL mais ça vourdrait dire qu'il faut aussi que je me farcisse le dev de la partie PHP => ce que j'aimerais éviter

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Citation Envoyé par boboss123 Voir le message

    Remarque : une autre solution serait de faire un client HTTP et de se connecter à un serveur PHP+MySQL mais ça vourdrait dire qu'il faut aussi que je me farcisse le dev de la partie PHP => ce que j'aimerais éviter

    Pourtant, des solutions que tu cites c'est de loin la meilleure. A savoir de développer des services en php (genre web services en REST échangeant les données en XML/JSON) qui mettent à dispositino diverses opérations sur les données de la base (tout dépend de ce que tu cherches à faire). Services sur lesquels se basent ton application pour récupérer ses données.

  7. #7
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Il y a plusieurs solutions...

    • Si tu veux vraiment faire un accès distant à la BD, je pense qu'il faudrait passer par un serveur dédié, mais cela a un coût...

    • Si tu veux copier la BD en local, le plus simple serait de passer par une BDD embarquée style Derby ou HSQLDB : la BD stockera tout dans un fichier, et il te suffira de télécharger ce fichier depuis le serveur pour avoir les données à jour.
      Par contre en effet si la BD est conséquente cela pourrait s'avérer assez lourd...

    • Sinon un WebService pourrait faire l'affaire, selon la quantité de données que tu as à transmettre. En gros au lieu de faire une requête SQL tu fais une requête Web vers du PHP qui se chargera de renvoyer le résultat... mais ca demande un peu plus de boulot.



    Ta BD est conséquente ???

    a++

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    de toutes facons, attaquer à distance la DB est rarement une bonne idée. Parce que ca nécessite que tes clients aient les droit d'accès à la base de donnée, ce qui nécessite de mettre en place, dans la DB, toute ta logique de sécurité et de confidentialité.

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 855
    Par défaut
    merci pour vos réponse

    Je pense que je vais me tourner vers une BDD locale. Ce n'est certe pas la solution ultime mais elle a le mérite d'avoir plusieurs avantages :
    - moins de risque de piratage
    - moins complexe à réaliser. Simplification pour le debug car tout est stocké en local
    - juste deux langages de prog a maitriser Java/SQL
    - logiciel client forcement compatible avec la BDD car ils seront livrés en même temps

    Pour la taille de la BDD je ne pense pas qu'elle fasse plus de 10Mo.

    Par contre reste un dernier point : comment faire pour ajouter de nouvelles données à ma BDD ?
    Je pensais faire sur l'appli client une fonction d'ajout d'élément qui générerait un fichier de description de celui-ci (format .txt ?) : il ne resterait plus qu'a poster ce fichier sur un forum et c'est un admin qui s'occuperait de récupérer le fichier, vérifier les données et de mettre à jour la BDD => seul problème avec cette méthode est que plusieurs admin ne peuvent pas travailler en même temps sur la BDD vu qu'ils doivent la copier en local avant de pouvoir travailler dessus.
    ça me semble pas trop mal comme solution : vous en pensez quoi ?


    -----------------

    j'ai commencé à tester derby en local : je ne suis pas aller très loin :'(

    J'ai copier derby.jar dans mon projet puis j'ai défini le build path (je suis sous eclipse).

    Donc voici mon code de test :
    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
     
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
     
     
    public class Main {
    	public static void main(String[] args) {
     
    		String dbURL = "jdbc:derby://localhost:1527/myDB;create=true;user=me;password=mine";
    		Connection conn = null;
     
     
    		// **********************************
    		// Test si driver chargé
    		try {
    			Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
    		}
    		catch(ClassNotFoundException e) {
    			System.err.println("Erreur de chargement du driver : " + e) ;
    		}
     
     
    		try {
    			conn = DriverManager.getConnection(dbURL);
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} 
     
     
     
     
    		System.out.println("Hello World");
    	}
     
    	/* (non-Java-doc)
    	 * @see java.lang.Object#Object()
    	 */
    	public Main() {
    		super();
    	}
     
    }

    j'ai une erreur sur : conn = DriverManager.getConnection(dbURL);
    => normal car la DB n'est pas créé : comment fait-on pour la créer ? j'ai trouvé pleins de tuto pour ouvrir une db et la parcourir mais pas pour la créer...
    Et c'est quel URL qu'il faut que j'utilise ?

Discussions similaires

  1. Quel type de compte utiliser pour sql server de la ferme
    Par gracouille dans le forum SharePoint
    Réponses: 5
    Dernier message: 11/03/2009, 14h44
  2. [SQL CE 3.5] Quel type de champs utiliser pour du texte ?
    Par zax-tfh dans le forum Développement
    Réponses: 10
    Dernier message: 06/03/2009, 15h30
  3. [aide] Quel type de champs utiliser pour mettre un "+"
    Par lothar59 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 04/03/2007, 14h05
  4. Réponses: 6
    Dernier message: 26/04/2006, 15h13
  5. Réponses: 0
    Dernier message: 26/04/2006, 13h01

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