Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Silverlight + Mysql
Lazybone
myCSharp.de - Member



Dabei seit:
Beiträge: 26

Themenstarter:

Silverlight + Mysql

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
LastGentleman
myCSharp.de - Member

Avatar #avatar-1696.jpg


Dabei seit:
Beiträge: 1.274
Herkunft: Österreich

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Lazybone
myCSharp.de - Member



Dabei seit:
Beiträge: 26

Themenstarter:

beantworten | zitieren | melden

Direkt ans Internet ist aber ok und auch gewollt.
private Nachricht | Beiträge des Benutzers
LastGentleman
myCSharp.de - Member

Avatar #avatar-1696.jpg


Dabei seit:
Beiträge: 1.274
Herkunft: Österreich

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Lazybone
myCSharp.de - Member



Dabei seit:
Beiträge: 26

Themenstarter:

beantworten | zitieren | melden

die Silverlight Anwendung befindet sich nur im Intranet von daher ist es ok wenn die Daten direkt im Client sind.
private Nachricht | Beiträge des Benutzers
LastGentleman
myCSharp.de - Member

Avatar #avatar-1696.jpg


Dabei seit:
Beiträge: 1.274
Herkunft: Österreich

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Lazybone
myCSharp.de - Member



Dabei seit:
Beiträge: 26

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 9.957

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
7.e.Q
myCSharp.de - Member

Avatar #avatar-3402.jpg


Dabei seit:
Beiträge: 925
Herkunft: Scheeßel

beantworten | zitieren | melden

Ich würde dir auch zu einem WebService raten. Was für ein System steht auf der Serverseite? Ein Windows? Ein Linux?
private Nachricht | Beiträge des Benutzers
Lazybone
myCSharp.de - Member



Dabei seit:
Beiträge: 26

Themenstarter:

beantworten | zitieren | melden

Linux
private Nachricht | Beiträge des Benutzers
7.e.Q
myCSharp.de - Member

Avatar #avatar-3402.jpg


Dabei seit:
Beiträge: 925
Herkunft: Scheeßel

beantworten | zitieren | melden

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...
private Nachricht | Beiträge des Benutzers
QuerDenker140
myCSharp.de - Member



Dabei seit:
Beiträge: 9

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
dN!3L
myCSharp.de - Experte

Avatar #avatar-2985.png


Dabei seit:
Beiträge: 2.891

beantworten | zitieren | melden

Hallo zusammen,
Zitat von LastGentleman
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?

Zitat von QuerDenker140
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
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von dN!3L am .
private Nachricht | Beiträge des Benutzers
7.e.Q
myCSharp.de - Member

Avatar #avatar-3402.jpg


Dabei seit:
Beiträge: 925
Herkunft: Scheeßel

beantworten | zitieren | melden

So, hab meine persönlichen Änderungen an Silverlight XML-RPC nun auch einchecken können. Just for Info...
private Nachricht | Beiträge des Benutzers