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

Silverlight Discussion :

Utilisation de Postgresql avec Silverlight


Sujet :

Silverlight

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 107
    Par défaut Utilisation de Postgresql avec Silverlight
    Bonjour,

    Est-ce que quelqu'un connaitrait une manière d'accéder à des données stockées dans une base de donnée Postgresql avec Silverlight ?

    Je sais que VS2010 n'a pas le provider pour ce type de base de donnée, mais par contre j'ai voulu en télécharger sur le net et les ajouter (dll) comme référence à mon projet (Npgsql et SubSonic).

    Mais j'obtiens le message d'erreur suivant :



    Apparemment Silverlight ne les supporte pas si vous en connaissez d'autres je suis preneur.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Silverlight ne supporte pas l'accès direct à une base de données, il faut utiliser des webservices. Il y a 2 principales technos qui permettent de faire ça :
    - WCF Data Services
    - RIA Data Services

    Tu devrais trouver des infos à ce sujet sur Google

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 389
    Par défaut
    slt

    sinon tu peux aussi passer par des scripts PHP pour recupérer tes données en base.

    regarde ce lien : http://nico-pyright.developpez.com/t...ysql/#Lreadphp

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 107
    Par défaut re
    oui j'ai vu ce tutorial mais c'est quand même dingue qu'on doive en arriver là, si je peux éviter d'utiliser du php ça m'arrangerait

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par narglix Voir le message
    oui j'ai vu ce tutorial mais c'est quand même dingue qu'on doive en arriver là, si je peux éviter d'utiliser du php ça m'arrangerait
    Tu peux utiliser ASP.NET aussi...

    C'est normal qu'on "doive en arriver là", ça poserait trop de problèmes de sécurité si une appli Silverlight pouvait accéder directement à une BDD. De toutes façons, chez la plupart des hébergeurs la base de données n'est pas accessible par les clients, seulement par les serveurs web de l'hébergeur

  6. #6
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par narglix Voir le message
    oui j'ai vu ce tutorial mais c'est quand même dingue qu'on doive en arriver là, si je peux éviter d'utiliser du php ça m'arrangerait
    Il faut quand même bien comprends la différence entre une application RIA, une application Web côté serveur et une application Desktop.

    Une application RIA s'exécute chez le client. Autoriser l'accès à une base de donnée pourrait amener à des problèmes de sécurité. Imagine par exemple le mec qui récupère ton appli, décompile avec Reflector et accède à ta chaine de connexion
    Pis l'air du temps est au SOA.

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 107
    Par défaut re
    Vous auriez un bon tutorial me permettant de créer ce genre de webservice pour une base de donnée distante ?

  8. #8
    Membre éclairé Avatar de LeonardL
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 57
    Par défaut
    Pour ce qui est de WCF RIA Services, va faire un tour sur le blog de David Rousset : http://blogs.msdn.com/davrous/

  9. #9
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par LeonardL Voir le message
    Pour ce qui est de WCF RIA Services, va faire un tour sur le blog de David Rousset : http://blogs.msdn.com/davrous/
    Je suis pas sûr qu'il y ait un provider pour Postgresql pour Entity Framework.

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Skyounet Voir le message
    Je suis pas sûr qu'il y ait un provider pour Postgresql pour Entity Framework.
    apparemment si...
    http://pgfoundry.org/forum/forum.php?forum_id=1622

    Par contre je soupçonne que ce soit encore un peu expérimental

  11. #11
    Membre éclairé Avatar de LeonardL
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 57
    Par défaut
    Et a terme RIA Services n'est pas censé se cantonner à EF :p

    En tout cas c'est ce que j'en déduis de ce magnifique schéma :
    http://blogs.msdn.com/blogfiles/brad...age[4].png

  12. #12
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par LeonardL Voir le message
    Et a terme RIA Services n'est pas censé se cantonner à EF :p

    En tout cas c'est ce que j'en déduis de ce magnifique schéma :
    http://blogs.msdn.com/blogfiles/brad...age[4].png
    Oui a terme

  13. #13
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 107
    Par défaut
    Donc j'oublie RIA et me concentre sur WCF pour mon web service ?

  14. #14
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 107
    Par défaut
    Je suis entrain d'essayer avec la méthode php à l'aide du tutorial :

    http://nico-pyright.developpez.com/t...lightandmysql/

    bien entendu j'ai réadapté avec les méthodes postgres mais est-ce que le pendant de mysql_select_db est pg_select ? Cette dernière méthode a un paramètre en plus assoc_array, je ne sais pas ce que c'est.

    Malheureusement ma réadaptation provoque une erreur :

    Le document XML doit contenir un élément de niveau supérieur. Erreur de traitement de la ressource http://localhost:8080/in...
    Mon code est le suivant :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
    	header('Content-type: text/xml');
     
     
     
    	$host = "localhost"; // le nom ou l'adresse du host
    	$user = "postgres"; // user de la base
    	$pass = "password"; // mot de passe
     
    	$conn_string = "host=$host port=5432 dbname=Test user=$user password=$pass";
     
     
    	$connexion = pg_connect($conn_string) or die('Erreur de connexion');
     
    	$bdd = "Test"; // nom de la base de données
    	if (!pg_select($connexion,'MOP',$_POST))
    		return 0;
    	if (!$connexion)
    		return 0;
     
    	$query = "SELECT * FROM `MOP`";
     
    	$result = pg_query($query);
    	if (!$result)
    		return 0;
    	echo "<datas>";
    	while ($line = pg_fetch_assoc($result))
    	{
    		echo "<data>";
    		$id = $line["id"];
    		echo "<id>".$id."</id>";
    		echo "<libelle>".$line["libelle"]."</libelle>";
    		echo "</data>";
    	}
    	pg_free_result($result);	// Libération des résultats	
    	echo "</datas>";
     
    	pg_close($connexion);	// Fermeture de la connexion, cela ne libère pas les résultats
    ?>

  15. #15
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 107
    Par défaut
    J'ai essayé de simplifier au mieux les lignes de codes mais j'ai l'impression que je n'ai aucun résultat avec la requête alors que ma table Tennis comporte 5 entrées avec un id et un nom.

    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
    <?php
    header('Content-type:  text/xml');
     
    $connexion = pg_connect("host=localhost port=5432 dbname=Test user=postgres password=pass");
     
    if(!$connexion)
    	return 0;
     
    $query = "SELECT * FROM Tennis";
    $result = pg_query($query);
     
     
    $line = pg_fetch_assoc($result);
     
    echo "<datas>";
    echo "<data>".$line[1]."</data>";
    echo "</datas>";
    ?>

  16. #16
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Ah ben la il va falloir que tu ailles poster dans le forum php

  17. #17
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 107
    Par défaut re
    C'est pas faux sinon la 2ème solution c'est WCF et pas RIA donc ?

  18. #18
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par narglix Voir le message
    C'est pas faux sinon la 2ème solution c'est WCF et pas RIA donc ?
    Oui WCF. Le probleme avec ca c'est que ca t'oblie a avoir un serveur Windows pour le deployer alors qu'avec un service php tu peux mettre ca sur un serveur Apache.

  19. #19
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 107
    Par défaut
    C'est un peu ça qui me dérange car je reprends un projet et pour l'instant il n'y a qu'un site php avec postgresql. Et dire qu'en WPF, on peut utiliser facilement le provider npgsql

    En plus la solution php n'est pas très maléable par le passage par XML de donnée statique.

  20. #20
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Il manque pas des ";" dans ta chaine de connexion ?

    Sinon, là, c'est plus une question PHP (et PHP, c'est vieux pour moi maintenant ) donc tu devrais plutôt poser ta question dans le forum dédié

Discussions similaires

  1. Utilisation de WCF Data Services 1.5 avec Silverlight
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 26/03/2010, 20h01
  2. Utiliser les séquences avec postgresql
    Par Emplyst dans le forum Hibernate
    Réponses: 2
    Dernier message: 15/01/2009, 18h00
  3. Conseil sur l'utilisation de postgreSQL avec Delphi 2007
    Par QAYS dans le forum Bases de données
    Réponses: 3
    Dernier message: 14/10/2008, 10h11
  4. utiliser linq avec silverlight
    Par almora007 dans le forum Silverlight
    Réponses: 9
    Dernier message: 29/05/2008, 18h45
  5. [Security] Utilisation d'acegi avec postgresql
    Par rc_29 dans le forum Spring
    Réponses: 4
    Dernier message: 04/06/2007, 17h39

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