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 :

PB requête sur mySQL dans un Server distant C#


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 13
    Points : 14
    Points
    14
    Par défaut PB requête sur mySQL dans un Server distant C#
    Bonjour,
    j'essaye actuellement d’exécuter des requêtes SQL sur un serveur distant qui est connecter à un serveur mysql en local (local pour lui pas pour moi ^^) tout d'abord voici ma première façon de procéder :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    instruction = "mysqltool.sh query RReport 'SELECT * FROM T_OFF '";
        			var cmd = cSSHRR.RunCommand(instruction);
        	 		var output = cmd.Result;
        	 		MessageBox.Show("iic" + output.ToString()) ;

    le résultat est vide.
    on pourrais pensé que le résultat devrai être placé dans un tableau mais j'ai bien essayer en bouclant avec un wile(de la même manière que j'avais l’habitude pour d'autre bout de code) ça ne marche pas, il rentre dans le while mais le tableau est vide donc il ne ressort rien.

    J'ai essayé avec un CRATE TABLE qui fonctionnais sous putty avec la même méthode mysqltool.sh (indépendant d'un éventuel retour, afin de tester), mais dans mon IDE(HP UFT) pas moyen après verification rien n'est créé.

    Je me dit donc que tout simplement la requête n'est pas exécuter sur mon serveur distant mais c'est la le plus étrange j'ai beaucoup de code qui utilise cette façon de faire pour la connexion et l’exécution de commande et aucun problème (tant que je ne touche pas à mysql visiblement ex : cd /home/.... && cp blala...) bref, les commandes linux marche, et bien que celle si dessus dans la variable "instruction" fonctionne si je l'entre directement via putty sur mon serveur, comme je l'ai dit, impossible sous mon IDE je ne comprend pas pourquoi .

    cela viens forcément de la méthode mysqltoo,l qui fonctionne en manuel mais pas lors de la compilation sous IDE, ce qui est extrêmement déroutant car c'est une commande exécuter sous linux comme un "cd .." . Avant j'avais des problèmes de retour car je rentrait sous mySql et il ne fessait pas le pont mysql>linux>ma-machine, mais la je reste sur linux, auquel je suis connecter avec une commande classique, qui fonctionne comme la requête, a laquelle je demande juste "écrire et exécuter" (comme j'ai fait pour 60% de mon code) et ...non ca veux pas >< . A croire qu'il ne l’écrit pas et lance à vide --'.
    (j'espère avoir été assez clair ^^ ) je suis ouvert à toute suggestion


    La deuxième méthode (pour le même travail) que j'ai aborder ouvre lui un problème de connexion, en effet je me connecte dans un premier temps sur le serveur distant, puis lui indique que je me connecte en local sur la machine distante. Mais il me ressort des résultats de mysql sur MA machine local et non pas celle sur le serveur :

    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
     using(var client = new SshClient("172.123.21.74", "USER", "MDP")) // establishing ssh connection to server where MySql is hosted
    {
        client.Connect();
        if (client.IsConnected)
        {
            var portForwarded = new ForwardedPortLocal("127.0.0.1", 0, "127.0.0.1", 22);
            client.AddForwardedPort(portForwarded);
            portForwarded.Start();
            using (MySqlConnection con = new MySqlConnection("SERVER=127.0.0.1;UID=root;PASSWORD=_merlin;DATABASE=RefReport"))
            {
                using (MySqlCommand com = new MySqlCommand("SELECT * FROM T_OFF", con))
                {
                    com.CommandType = CommandType.Text;
                    DataSet ds = new DataSet();
                    MySqlDataAdapter da = new MySqlDataAdapter(com);
                    da.Fill(ds);
                    foreach (DataRow drow in ds.Tables[0].Rows)
                    {
                        System.Diagnostics.Debug.WriteLine("From MySql: " + drow[1].ToString());
                    }
                }
            }
            client.Disconnect();
        }
        else
        {
            System.Diagnostics.Debug.WriteLine("Client cannot be reached...");
        }
    }


    Merci d'avoir pris le temps de me lire ^^ et merci d'avance pour vos réponse que j'attend avec impatience .

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    tu n'as pas de try catch et tu es dans le form_load ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    je n'ai pas de formulaire c'est un programme de test automatique, et le try catch ne renvoie rien il pour la première méthode. La deuxième non, pas de try catch, je vais voir ça .

Discussions similaires

  1. utiliser BD Mysql dans SQL server 2008
    Par bebo11 dans le forum SSIS
    Réponses: 2
    Dernier message: 16/04/2010, 01h18
  2. Dossier data de Mysql dans un serveur distant
    Par maxeur dans le forum MySQL
    Réponses: 3
    Dernier message: 21/07/2009, 19h14
  3. aide pour construire une requête sur Mysql
    Par wagui26 dans le forum Débuter
    Réponses: 8
    Dernier message: 13/02/2009, 23h43
  4. Réponses: 13
    Dernier message: 29/01/2008, 15h28
  5. question sur mysql et sql server
    Par DJERDJAR YACINE dans le forum Outils
    Réponses: 1
    Dernier message: 19/07/2007, 08h54

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