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

Décisions SGBD Discussion :

Application Portable sur differents types de BDD


Sujet :

Décisions SGBD

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2003
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 174
    Points : 194
    Points
    194
    Par défaut Application Portable sur differents types de BDD
    Bonjour,

    Je souhaite realiser une application (mono poste) qui puisse se connecter a differents types de bases de donnees (et aussi creer la BDD) . C'est la que j'en appelle a votre experience.

    Que pensez vous des solutions suivantes :

    1) developper une application en Visual Basic (ou C++) utilisant ODBC et un SQL standard (SQL2) et plus exactement en utilisant uniquement les fonctions SQL comprehensibles par les principaux SGBD (Access, Oracle, Interbase, MySQL, Sybase ...)

    2) developper une application en Java utilisant JDBC qui semble etre plus portable ( comprenez "peut plus facilement s'adapter sur differents formats de bases de donnees") puisque c'est le driver JDBC qui fait la correspondance entre le "SQL JAVA" (celui inclus dans le code java) et celui comprehensible par le SGBD

    3) si vous avez d'autres solutions, n'hesitez pas

    4) si j'ai dit une betise dites le moi aussi ...

    Merci d'avance
    Sylvain

  2. #2
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    moi, je te propose : java + un framework de persistance (type hibernate ou ojb).

    du coup, le changement de base données est preque transparent : il suffit de changer la conf du framewolk de persistance. c'est asssez génial.

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2003
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 174
    Points : 194
    Points
    194
    Par défaut
    Merci pour ta reponse.
    Est ce que tu as deja reellement teste ces outils ?

    Peux tu me confirmer que j'ai bien compris comment fonctionne JDBC : le SQL qui est integre dans le code java est un SQL de "type JAVA" (avec eventuellement ses propres syntaxes) qui est independant de tout SGBD. C'est ensuite le driver JDBC (Oracle, Access, Informix ...) qui, en plus d'assurer la connexion a la base de donnees, traduit le SQL de "type JAVA" en SQL comprehensible par le SGBD en question.

    Merci de me le dire si je dis une betise ...

    Sylvain

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Je te conseille un developpement en 3 tiers.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2003
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 174
    Points : 194
    Points
    194
    Par défaut
    Citation Envoyé par fadace
    Je te conseille un developpement en 3 tiers.
    Toutes les informations que j'ai trouvees concernant le developpement 3 tiers concernent des applications WEB.
    Est ce aussi utilise pour des applications "non web" ?


    Un developpement 3 tiers m'oblige tout de meme a passer par JDBC ou ODBC, non ?

  6. #6
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Oui, c'est conseille et recommande. La mise en place est plus longue et plus penible (surtout si tu dois former ton team de developpeurs a la methodologie), mais en terme de portabilite, d'ouverture et de perenite, ca vaut la peine.

    ... et non, tu n'est pas contraint d'utiliser ODBC ou JDBC. La connexion du 2e tiers au SGBDR peut se faire en natif.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  7. #7
    Membre habitué
    Inscrit en
    Septembre 2003
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 174
    Points : 194
    Points
    194
    Par défaut
    Citation Envoyé par fadace
    tu n'est pas contraint d'utiliser ODBC ou JDBC. La connexion du 2e tiers au SGBDR peut se faire en natif.
    Salut,

    Sans vouloir abuser, est ce que tu (ou quelquún d'autre) aurais des exemples, des references ou des sites web a me suggerer pour avoir une idee un peu plus claire d'un developpement 3 tiers avec une connexion du 2e tiers au SGBDR en code natif ??

    Merci
    Sylvain

  8. #8
    Membre éclairé

    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    412
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2002
    Messages : 412
    Points : 657
    Points
    657
    Par défaut
    En fait, ton application elle ferait quoi dans les grandes lignes ?

    Par exemple si ton application a besoin de se connecter à diverses bases pour faire de la rétro-conception, c'est pas forcément une architecture trois tiers qu'il te faut.

    Pour une application mono-poste à priori, pas besoin d'une architecture trois tiers. Tu vas t'embêter (lors du développement et lors du déploiement) pour rien.

    Je te donne l'exemple que je connais : le mien tu peux t'en sortir en écrivant une bibliothèque de programmation qui décrit une requête SQL, indépendamment du sgbd. Et après, tu pourrais écrire des convertisseurs dans les dialectes SQL dont tu as besoin. Mais ça revient à se taper tout le problème à la mimine.

    La solution de lunatix (framework de persistance) je ne connais pas, mais c'est peut-être une solution déjà implémentée.

    Thomas

  9. #9
    Membre éclairé

    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    412
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2002
    Messages : 412
    Points : 657
    Points
    657
    Par défaut Re: Application Portable sur differents types de BDD
    Citation Envoyé par sylvain_2020
    1) developper une application en Visual Basic (ou C++) utilisant ODBC et un SQL standard (SQL2) et plus exactement en utilisant uniquement les fonctions SQL comprehensibles par les principaux SGBD (Access, Oracle, Interbase, MySQL, Sybase ...)
    En fait je ne te conseille pas. Le plus petit dénominateur commun est vraiment trop petit... Le problème commencera à la première jointure.

  10. #10
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    oups, j'avais oublié ce post

    1) odbc et jdbc, ca n'a RIEN a voir ! Jdbc attaque les bases de données en natif, ( en odbc si necessaire). c'est pas du tout la meme chose.
    jdbc c'est la facon dont en java on code l'acces aux données. Ensuite, cet acces peut etre natif, on odbc en fonction du "drivers" utilisé



    2) ton probleme se gere simplement avec un framework de type Hibernate. C'est ce framework qui gerera les differences de sql entre les bases et les autres petites modifs. (c'est du boulot qui a été fait par d'autres developpeurs, et que tu n'auras pas a refaire). En gros les developpeurs ont fait ce que dit laffreuxthomas, ils ont codé des classes qui gerent les diff de sql...tu peux aussi le refaires, mais il faut etre motivé

    including Oracle, DB2, Sybase, MS SQL Server, PostgreSQL, MySQL, HypersonicSQL, Mckoi SQL, SAP DB, Interbase, Pointbase, Progress, FrontBase, Ingres, Informix, FrontBase
    ca c'est que fait hibernate....

    En gros, tu mappes les objets de application sur la base de données (description dans un fichier xml). ensuite, tu ne faits que des objet.load() ou objet.save() et le sal est généré par le framewok...du bonheur !

    va voir cet exemple simple (cas d'une appli web) http://www.hibernate.org/hib_docs/ex...uickstart.html

    tu verras que le passage d'une base a l'autre se fait par la conf

  11. #11
    Membre habitué
    Inscrit en
    Septembre 2003
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 174
    Points : 194
    Points
    194
    Par défaut
    Merci beaucoup pour vos conseils. Je suis en train d'etudier la solution framework de persistance avec Hibernate.

    J'aurais certainement d'autres questions a vous soumettre bientot

    Sylvain

  12. #12
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    Citation Envoyé par sylvain_2020
    J'aurais certainement d'autres questions a vous soumettre bientot
    Sylvain
    n'hesite pas !
    je parle d'hibernate parce que je connais, mais tu as d'autres outils.
    ojb http://db.apache.org/ojb/ par exmple...

    n'hesite pas a faire une recherche pour voir par toi meme

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

Discussions similaires

  1. créer un Application portable sur Vb.net 2008 ?
    Par abdego dans le forum VB.NET
    Réponses: 3
    Dernier message: 24/09/2012, 15h33
  2. Rendre application portable sur un Pc sans Builder
    Par foufar2009 dans le forum C++Builder
    Réponses: 2
    Dernier message: 31/03/2009, 19h51
  3. Application portable type "bande annonce", quel langage utiliser ?
    Par boubou_s dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 12/12/2006, 15h23
  4. [Drupal] Passage de données entre applications sur différents serveurs
    Par navis84 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 26/07/2006, 11h36

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