Meilleur auteur de réponses
Accès MySQL avec application Metro

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,
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- Marqué comme réponse Nina ZaekovaMicrosoft contingent staff, Moderator mardi 25 novembre 2014 09:08
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- Marqué comme réponse Nina ZaekovaMicrosoft contingent staff, Moderator mardi 25 novembre 2014 09:08
-
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
-
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 -
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,
-
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