[C#] Zugriff auf MySQL Database

Maliko

Vormals Nightstalker
Hi,

ich hab da mal ne Frage an euch. Und zwar arbeite ich normalerweise wenn ich mit Datenbanken arbeiten muss mit MSSQL, jetzt hat mich allerdings ein Bekannter gefragt ob ich ihm für seinen WoW Server ein kleines GM Tool basteln würde, damit seine GMs es leichter beim Supporten haben. Die WoW-Datenbank ist allerdings MySQL.

Nun meine frage. Wie bekomme ich eine MySQL Verbindung aus meinem Programm zu einem Server welcher NICHT lokal auf meinem Rechner liegt? Und das ganze nach möglichkeit ohne ODBC, da es bei anderen unter Umständen zu Problemen kommt, wenn die Treiber nicht installiert sind und ich will die im Installer auch nicht mitinstallieren.

Hat da vieleicht jemand ne Ahnung wie ich das hinbekomme? Sämtliche Tuts, welche ich gefunden habe sind von 2006 oder 2007 und für das .NET 2 Framework.

Danke euch schon mal im Vorraus.

Lg Maliko
 
Die Verbindung zu einem lokalen mySQL-Server hast Du schon hinbekommen, oder fängst Du ganz von vorne an?
Wenn es lokal schon klappt, muss zu dem Connect-Befehl doch eigentlich nur noch der Host hinzugefügt werden.
Dabei ist aber zu beachten, dass der mySQL-Server auch Verbindungen von außerhalb zulassen muss (in der my.cnf darf die Varibale skip-networking nicht gesetzt sein).
 
Nein. Ich habe bisher noch überhaupt nicht mit MySQL in Verbindung mit C# gearbeitet. MySQL verwende ich lediglich bisher für die Arbeit mit PHP. Und ob der Server Verbindungen nach außen zulässt ist nicht mein Problem, ist schließlich ne Auftragsarbeit und da er seit Jahren mit PHP und MySQL arbeitet sollte er das eigendlich wissen.

Kurzum, ich fange bei MySQL neu an.
 
Soweit ich das der Doku entnehmen konnte, geht es mit C# wirklich nur über ODBC.
Das sei aber bitte eindeutig als Laienaussage gekennzeichnet :).
 
hmm. kurze Frage. Kennt jemand von euch ein gutes Programm, womit ich MySQL Datenbanken verwalten kann und nicht phpMyAdmin heißt?
 
so. und da hab ich auch schon die nächste Frage. Ich habe mich in den letzten Tagen oft gefragt wie ich das mit der Sicherheit mache. Da ich das Tool frei im Internet veröffentlichen wollte, kann ich die Zugangsdaten zur MySQL Datenbank nicht Hardcoden und über ne ini ist auch keine Möglichkeit, da man als Betreiber sicher nicht die MySQL Zugangsdaten raus geben will. Darum habe ich mich jetzt für ein Server-Client-System entschieden. Sprich das Programm holt sich die Daten nicht direkt aus der Datenbank, sondern über ein kleines Programm, welches auf dem Server liegt und die Anfrage an den MySQL Server weiterleitet und wieder an das Programm zurückgibt.

Nun aber zu meiner Frage. Was für einen Port sollte ich benutzen? Klar könnte ich mir einfach Port 19000 schnappen, nur wollte ich mir gerne nen Port schnappen, der bei den meisten nicht geblockt wird und wo nix drauf hört, was mit meinem Programm in Konflikt geraten könnte (ich hasse Skype dafür, das er in den Standarteinstellungen verhindert das ich gleichzeitig den Apache laufen lassen kann). Also jemand ne Idee? Vieleicht auch einfach aus eigenen Erfahrungen.
 
Wenn Du einen der well-known Ports benutzt, droht die Gefahr, dass sich das Programm mit einem anderen beißt - bei einem Port oberhalb davon steigt die Gefahr, dass der Port gesperrt ist.
Aber wie ich das sehe, wird für die Anfrage ja nur eine ausgehende Verbindung benötigt, da sollte der Port wirklich egal sein. Die Windows Firewall lässt von Innen nach Außen sowieso alles durch - und wer eine Software-Firewall benutzt, der sollte auch wissen, was zu tun ist, wenn das Programm geblockt wird.
 
hmm. ok, dann mach ichs mir einfach mal einfach und regel das über die ini. Der Betreiber wählt den Port selbst aus auf dem der Server horchen soll.
 
Oben