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

C# Discussion :

Récupérer instance MySQL d'un nom de domaine


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Par défaut Récupérer instance MySQL d'un nom de domaine
    Bonjour à tous.

    Je développe actuellement une application c# sous visual studio 2012 et j'aimerais obtenir toutes les instances de BDD MySQL présente sur mon nom de domaine (réseau local).

    J'arrive a récupérer tous les SQLServer grâce à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SqlDataSourceEnumerator sqlDataSourceEnumerator = SqlDataSourceEnumerator.Instance;
                                DataTable servers = sqlDataSourceEnumerator.GetDataSources();
    et j'aimerais quelque chose de semblable pour les MySQL.

    Merci d'avance de votre aide !

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Je ne sais pas s'il existe un équivalent pour MySQL, mais tu dois pouvoir utiliser WMI. La classe que tu mentionnes pour SQL Server découvre les instances en utilisant l'UDP... Peut-être qu'il est aussi possible d'implémenter ca pour MySQL.

    En ce qui concerne WMI, la logique c'est de se connecter à tes machines et à vérifier les Services (classe Win32_Service). Si le chemin contient le nom de l'exécutable de MySQL alors c'est un service MySQL, donc une instance :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var @class = new ManagementClass("Win32_Service"); 
    var instances = @class.GetInstances().Cast<ManagementObject>().ToList(); 
    foreach (ManagementObject obj in instances) 
    { 
        if (obj.GetPropertyValue("PathName").ToString().Contains("mysqld.exe"))    // vérifie si le nom de l'exécutable est bien celui-ci...
        {
            // C'est une instance MySQL
        }	
    }
    Pour référence : Win32_Service WMI Class.

    Pour info je n'ai pas utilisé MySQL depuis très longtemps vu les lacunes dont il souffre, donc il y a peut-être d'autres facons de procéder que je ne connais pas.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Par défaut
    Bonjour et merci de ta réponse j'ai un petit soucis avec la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if (obj.GetPropertyValue("PathName").Contains("mysqld.exe"))
    Visual ne veut même pas compiler, il me dit : "'object" ne contient pas une définition pour 'Constrains' et la meilleur surcharge de la méthode d'extension 'System.Linq.Queryable.Contains<TSource>[...] contient des arguments non valides :s

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Arf oui, essaie en castant obj en ManagementObject :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach (ManagementObject obj in instances)
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Par défaut
    ça ne veut toujours pas... mais j'ai réussis a corriger l'erreur en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    o.GetPropertyValue("PathName").ToString().Contains("mysqld.exe")
    mais je ne sais pas si c'est correct ?

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Si si c'est correct En effet il manquait le cast en string, comme je n'ai pas écrit ce code dans Visual Studio je suis passé à côté... J'ai corrigé le post initial.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

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

Discussions similaires

  1. Comment récupérer nom de domaine pris chez Lycos ?
    Par cortex024 dans le forum Domaines
    Réponses: 7
    Dernier message: 21/07/2009, 11h01
  2. C# Récupérer le nom des domaines d'un réseau
    Par EmacLi dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/08/2006, 08h24
  3. Récupérer le nom de domaine d'un visiteur
    Par Yoshidu62 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/07/2006, 11h54
  4. [C] Récupérer les noms de domaines
    Par Pico10 dans le forum Windows
    Réponses: 12
    Dernier message: 12/03/2006, 23h09
  5. Récupérer le nom de domaine d'appartenance d'un serveur
    Par Laurent Dardenne dans le forum Windows
    Réponses: 2
    Dernier message: 26/01/2004, 17h01

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