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

Java Discussion :

Détecter la présence d'un SGBD sur une machine


Sujet :

Java

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 153
    Points : 105
    Points
    105
    Par défaut Détecter la présence d'un SGBD sur une machine
    Bonjour,
    La question m'occupe l'esprit depuis un bout de temps et je n'ai pas eu d'élément concret de réponse jusqu'ici;
    comme l'indique mon titre, j'aimerai savoir s'il y a un moyen de détecter la présence d'un SGBD quelconque sur une machine. Et plus généralement, y a t-il un moyen de détecter la présence d'un type de logiciel sur une machine?
    pour les SGBD, je me suis dis qu'on pouvais regarder les clé dans les registres sous window. mais les question qui me viennent à l'esprit sont:
    1- ces clé sont-elle fixe d'une installation à une autre?
    2- comment faire sous un autre OS?
    3- comment le faire en Java si c'est possible?

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 791
    Points
    4 791
    Par défaut
    Dans un premier temps, tu peux tester certains ports qui sont traditionnellement utilisés par les SGDB connus :
    • 1521 pour Oracle
    • 1433 pour SQL Server


    etc .
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Quel est le contexte ? Exécution d'un programme de détection de SGBD au niveau du poste, ou bien à distance ?
    Au niveau du poste c'est toujours faisable. Aller dans le répertoire d'installation par défaut du SGBD en question par exemple.
    A distance c'est plus difficile.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 153
    Points : 105
    Points
    105
    Par défaut
    Merci pour vos réponses !
    Contrôler les ports est une idée que j'ai eu, mais que j'ai cependant trouvé assez rudimentaire et pas du tout fiable. Car combien installe un SGBD de production sur le port par defaut?
    Aller regarder dans les répertoires d'installation n'est pas l'idée. Il question d'exécuter un programme qui soit en mesure de nous dire s'il y a un moteur de base de données installé sur la machine.
    Je reformule la question; les SGBD n'ont-ils pas une signature fixe lorsqu'on les installes sur une machine?

  5. #5
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 791
    Points
    4 791
    Par défaut
    Car combien installe un SGBD de production sur le port par defaut
    Ceux qui ne le font pas doivent avoir une bonne raison de ne pas le faire et c'est plutôt rare !
    Si tu veux palier cet éventuel problème tu peux toujours balayer les 65000 ports avec une boucle for.

    A l'évidence, le système que tu cherches est destiné à fonctionner sur une machine locale
    dont on ne sait pas ce qu'il y a d'installé comme SGDB ... tu conviendras que cela n'est pas courant !

    Comme enfin tu veux pouvoir passer d'un OS à l'autre, je ne vois que le test systématique de tous les ports.
    Après il te faut aussi, quand tu trouves un port occupé, tester avec les différentes bibliothèques (MySql, Oracle, Sql Server, etc...)
    pour identifier le type de base.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Quel est le but de cette recherche ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  7. #7
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 791
    Points
    4 791
    Par défaut
    Quel est le but de cette recherche ?
    Répondre à un appel d'offre de la NSA peut-être ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 153
    Points : 105
    Points
    105
    Par défaut
    Merci à vous tous.
    l'idée de tester les 6500 ports disponible sur une machine est presque tentant. Mais
    Je comprend donc qu'on ne peut à priori faire un check d'un SGBD sur une machine sans au préalable savoir de quel SGBD il est question.
    Je vais me pencher vers une autre piste pour résoudre mon problème. Merci une fois de plus pour votre attention

  9. #9
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 791
    Points
    4 791
    Par défaut
    faire le tour des 65000 ports est vite fait la plupart sont inutilisés !
    ensuite quand tu en trouves un, tu testes avec les différentes librairies SGBD en utilisant JDBC
    Comme les instructions sont toujours identiques, tu n'as pas de gros efforts de programmation.

    Par contre, je ne sais pas si tu inclues Access dans ta liste. Si c'est le cas, il échappe à tout contrôle (c'est un simple fichier)
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/04/2016, 10h20
  2. [MVVM] Détecter l'ajout d'un élément sur une liste
    Par Digilougm dans le forum Silverlight
    Réponses: 10
    Dernier message: 16/06/2011, 11h10
  3. Réponses: 3
    Dernier message: 18/11/2009, 01h25
  4. Réponses: 0
    Dernier message: 18/01/2008, 11h48
  5. Détecter la présence d'un SGBD en PHP
    Par DrySs dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/11/2007, 19h00

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