none
Accès MySQL avec application Metro RRS feed

  • Question

  • Bonjour,

    Je voudrais dans un premier temps savoir s'il est possible d'avoir accès à une base de données MySQL en C# pour une application Metro ?

    En effet, j'ai installé un serveur MySQL sur mon PC, le but serait de faire une application metro avec des tuiles mais je n'arrive pas à accéder à mes données la connexion au serveur est refusé à chaque fois. Le message d'erreur est le suivant : Unable to access to specified hosts.

    Voici le code utilisé :

    using(cnx = new MySqlConnection("server=192.168.45.88;database=module-bat;userid=root;password=*****;"))
    {
       try
       {
          cnx.Open();
          MySqlCommand cmd = new MySqlCommand("select * from contact", cnx);
          using (MySqlDataReader contactReader = cmd.ExecuteReader())
          {
              while (contactReader.Read())
              {
                  String txt = contactReader.GetString(0) + " " + contactReader.GetString(1) + " " + contactReader.GetString(2);
              }
          }
       }   
       catch(MySql.Data.MySqlClient.MySqlException e)
       {
          System.Diagnostics.Debug.WriteLine("Error during connection : " + e.Message);
       }
    }


    Si c'est possible, comment puis-je procéder pour y arriver ?

    Merci d'avance pour vos réponse,

    vendredi 21 novembre 2014 12:15

Réponses

  • Pour des raisons de sécurité, Metro ne vous permet pas d'utiliser directement une base mySQL tout comme une base SQL Server.

    La seule solution est d'exposer les données via un serveur Web (avec les technos REST, WCF, Web Service, etc.).

    L'autre solution pour une base de données est d'utiliser SQLLite qui possède une version pour WinRT. (dans ce cas là, la base de données est déployée avec le package de l'application).


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    vendredi 21 novembre 2014 15:06

Toutes les réponses

  • Pour des raisons de sécurité, Metro ne vous permet pas d'utiliser directement une base mySQL tout comme une base SQL Server.

    La seule solution est d'exposer les données via un serveur Web (avec les technos REST, WCF, Web Service, etc.).

    L'autre solution pour une base de données est d'utiliser SQLLite qui possède une version pour WinRT. (dans ce cas là, la base de données est déployée avec le package de l'application).


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    vendredi 21 novembre 2014 15:06
  • Merci pour votre réponse.

    Cependant une autre petite question me vient à l'esprit quand vous me parlez de technos REST ou WebService.

    Cela oblige donc d'avoir une connectivité à internet fonctionnelle ?

    Dans l'idée, je souhaiterais que les utilisateurs de mon application puissent avoir une base de données locale pour y stocker toutes les informations hors connexion. Et une base de données sur un serveur qui permettrait de mettre en commun toutes les données. Est-ce possible avec de tel technos ? Est-ce possible de travailler hors connexion avec ça ?


    • Modifié Radigue vendredi 21 novembre 2014 15:24
    vendredi 21 novembre 2014 15:22
  • Oui il faut une connexion Internet.

    Vous pouvez imaginer un scénario ou vous stocker dans la base de données locale vos données en mode déconnecté et dès qu'Internet arrive, synchroniser les données.

    Mais ce n'est pas simple la réplication ;-)


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    vendredi 21 novembre 2014 15:47
  • Merci 

    Est ce qu'il serait éventuellement possible de passer par une bibliothèque qui gérerait les accès à la base de données ?

    Ce qui fait que plutôt que de consommer un Webservice, on taperait plutôt dans une DLL, ce qui en sois serait beaucoup plus simple et propre ?

    Merci de votre précieuse aide,

    vendredi 21 novembre 2014 15:58
  • Oui si vous voulez.

    Mais in fine, vous devrez accéder à votre web service


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    vendredi 21 novembre 2014 16:00