Laden...

Silverlight + Mysql

Erstellt von Lazybone vor 14 Jahren Letzter Beitrag vor 14 Jahren 4.407 Views
L
Lazybone Themenstarter:in
26 Beiträge seit 2008
vor 14 Jahren
Silverlight + Mysql

Hi,

ich habe ein Silverlight 3 Projekt. Nun wollte ich gerne mit C# eine MySQL Datenbankabfrage machen. Wenn ich nun aber versuche den Mysql .Net Connector einzubinden wird mir gesagt das es nicht kompatibel mit einem Silverlight Projekt ist.
Gibt es eine andere Methode um mit einem Silverlight 3 Projekt ne DB Abfrage zu machen?

Gruß
Lazybone

1.274 Beiträge seit 2005
vor 14 Jahren

Würde die Datenbank nicht direkt ans Internet hängen, sondern einen Webservice dazwischenschalten. Dann hast das Problem nicht

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

L
Lazybone Themenstarter:in
26 Beiträge seit 2008
vor 14 Jahren

Direkt ans Internet ist aber ok und auch gewollt.

1.274 Beiträge seit 2005
vor 14 Jahren

Die Datenbank?

Du musst ja um dich zu verbinden irgendwie anmelden, die Daten Username und Passwort sind ja irgendwo in der Logik am Client. Der ist außerhalb deiner Reichweite.

Wenn sich deinen Client nun jemand auseinander nimmer, kann er sich an der Datenbank direkt anmelden.

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

L
Lazybone Themenstarter:in
26 Beiträge seit 2008
vor 14 Jahren

die Silverlight Anwendung befindet sich nur im Intranet von daher ist es ok wenn die Daten direkt im Client sind.

1.274 Beiträge seit 2005
vor 14 Jahren

Dann musst schauen obst a Silverlight Variante von deinem Provider findest, sonst sehe ich aktuell keine Möglichkeit

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

L
Lazybone Themenstarter:in
26 Beiträge seit 2008
vor 14 Jahren
  1. Was meinst du mit Webservice?
  2. Ich muss doch nen MYsql Connector einbinden. Für C# gibt es den ja direkt von Mysql für Silverlight funktioniert der leider net
F
10.010 Beiträge seit 2004
vor 14 Jahren

Nein, der Connector geht nicht unter Silverlight.

MS hat extra den Data Service entwickelt.
Der basiert auf EF und geht damit auch mit MySql zusammen.

925 Beiträge seit 2004
vor 14 Jahren

Ich würde dir auch zu einem WebService raten. Was für ein System steht auf der Serverseite? Ein Windows? Ein Linux?

L
Lazybone Themenstarter:in
26 Beiträge seit 2008
vor 14 Jahren

Linux

925 Beiträge seit 2004
vor 14 Jahren

Also PHP als Gegenstelle. Dann würde ich empfehlen, dass du dir einen XML-RPC oder REST Service als Server-Gegenstelle baust. SOAP ist Overkill und von Inkompatibilitätsproblemen nur so gespickt, würd ich also die Finger von lassen. XML-RPC geht in Silverlight mithilfe der folgenden XML-RPC Class (weil Silverlight per se kein synchrones Abrufen von Webadressen unterstützt, was für XML-RPC aber erforderlich ist):

http://code.google.com/p/xmlrpc-silverlight/

Die Class hab ich selbst in Verwendung. Sie funktioniert soweit gut, kann aber in der aktuellen Trunk nur Fields automatisch befüllen. Ich hab eine Änderung, die auch Properties automatisch befüllt (automatisches Casten von XML-RPC Rückgaben in Objekte), werde sie einchecken, sobald mir der Projekt-Inhaber Schreibrechte erteilt.

Wenn du weitere Infos brauchst, schreib einfach...

Q
9 Beiträge seit 2009
vor 14 Jahren

Auf die gestellte Frage kann ich leider nicht großartig antworten. An sich gibt es eine Library von Sun, welche einem die MySQL Dienste verfügbar macht.

Meine Frage bzgl. diesem Thema (ich hoffe es antwortet jemand):
Ich schreibe zurzeit ein Projekt, welches einen Silverlight Client beinhaltet, welcher mit C# geschrieben worden ist. Die Datenbank ist eine MySQL Datenbank, auf die ich auch wunderbar zugreifen kann. Stichwort "Web Services".

Der Datenaustausch zwischen dem Web Service und dem Silverlight Projekt tut nicht immer?!? Was heißen mag:
Ich erstelle den Webservice und schreibe meine MySQL abfrage. Daraufhin klicke ich mit rechter Maustaste auf ihn und wähle "Im Browser ausführen aus". Daraufhin erstelle ich mir meinen Dienstverweis, welcher nun den Webclient ansprechen kann. Sobald ich aber im WebClient wieder eine neue Methode schreibe, und ich daraufhin die "Im Browser ausführen" tätige und den Dienstverweis aktualisiere, ist er für die Page.xaml.cs nicht mehr auffindbar .... Kann mir da jemand helfen???

An sich ist die Frage eigentlich nur, wie schaffe ich es auf eine MySQL Datenbank zuzugreifen über die gegebenen Mittel die Silverlight bietet. Ich hab zwar jetzt schon viele Foren durchforstet, d.h. die Tipps gingen hin zu WCF oder asmx.

Leider hab ich bis jetzt auch nur 2 wirklich gute Anleitungen gefunden:
http://blog.silverlight-city.de/post/2008/09/27/Verwendung-eines-WCF-Services-in-Silverlight-C-tutorial-training-schulung-lehrgang-wcf.aspx

http://silverlight.net/learn/tutorials/sqldatagrid.aspx

2.891 Beiträge seit 2004
vor 14 Jahren

Hallo zusammen,

Dann musst schauen obst a Silverlight Variante von deinem Provider findest, sonst sehe ich aktuell keine Möglichkeit

Gibt es denn sowas überhaupt (schon) für Silverlight? Denn Silverlight läuft doch nur sehr eingeschränkt und Plattenzugriff geht auch nur in den speziellen SL-User-Ordner.

Soweit ich weiß (Stand SL 2), muss man Datenzugriffe generell über einen (Web-)Service auf Webserverseite lösen. Und man kann (konnte?) auch nur den einzigen "Home-Webserver" ansprechen.

Hat sich das inzwischen geändert?

wie schaffe ich es auf eine MySQL Datenbank zuzugreifen über die gegebenen Mittel die Silverlight bietet. [...] die Tipps gingen hin zu WCF oder asmx. Mit meinem momentanen Wissensstand (kleine Experimente mit SL1/2) würde ich sagen, das geht auch nicht anders.
Aber es gibt die ADO.NET Data Services (auch für Silverlight). Damit kann man über WCF z.B. ein IQueryable bereitstellen und sämtliche LINQ-Queries werden dann automatisch in REST übersetzt. Das sah ziemlich vielversprechend aus...

Gruß,
dN!3L

925 Beiträge seit 2004
vor 14 Jahren

So, hab meine persönlichen Änderungen an Silverlight XML-RPC nun auch einchecken können. Just for Info...