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
Verbindung mit MySQL
Kovu
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Düsseldorf

Themenstarter:

Verbindung mit MySQL

beantworten | zitieren | melden

verwendetes Datenbanksystem: mysql

Hi,

wollte ne Verbindung aus einem Windows-Progi mit C#.net heraus zu einem MYSQL Server herstellen.

Habe bisher 4 verschiedene Connection Strings ausprobiert, hat nichts geklappt.

Hier mein bisheriger Code:



        private void frm_main_Load(object sender, EventArgs e)
        {
            OdbcConnection con = new OdbcConnection();
            con.ConnectionString = "Driver={MySQL ODBC 3.51 Driver};Server=webserver;Port=3306;Database=backoffice;User=root;Option=3;";
            con.Open();
        }
Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?
private Nachricht | Beiträge des Benutzers
thepixel
myCSharp.de - Member



Dabei seit:
Beiträge: 221
Herkunft: Bayern

beantworten | zitieren | melden

Hi,

lade Dir doch erstmal von www.mysql.de den Connector/Net 5.1 runter. Das ist ein nativer MySql Treiber und um einiges besser als ODBC. Ausserdem sind Beispiele dabei, da siehst du dann wies gemacht wird.

Grüße
Mfg, Christian
private Nachricht | Beiträge des Benutzers
WSX
myCSharp.de - Member



Dabei seit:
Beiträge: 32

beantworten | zitieren | melden

jap, also ich kann dir auch nur den connecter für .net empfehlen,
den verweis dem project hinzufügen.
also an konfortabilität gibt es nichts besseres bzgl. mysql und c#.
"Arbeit ist die altmodische Form der Vermögensbildung in Arbeitnehmerhand."

Wolfram Weidner (*1925), dt. Journalist
private Nachricht | Beiträge des Benutzers
[email protected]
myCSharp.de - Member



Dabei seit:
Beiträge: 407

beantworten | zitieren | melden

Hi!

Ich verwende für den Zugriff auf MySQL-Server den
MySQL-Connector anstelle von ODBC.

Connector:
http://dev.mysql.com/downloads/connector/net/

Doku + Beispiele:
http://dev.mysql.com/doc/refman/5.0/en/connector-net.html

lg
private Nachricht | Beiträge des Benutzers
Tarrida
myCSharp.de - Member



Dabei seit:
Beiträge: 11

beantworten | zitieren | melden

www.connectionstrings.com

Da wirste auf jeden Fall fündig

MySQL Set your custom
connection string values »

This is a compiled connection strings reference list on how to connect to MySQL.

[EDIT]

MyODBC

MyODBC 2.50 Local database

Driver={mySQL};Server=localhost;Option=16834;Database=myDataBase;

COPY TO CLIPBOARD
MyODBC 2.50 Remote database

Driver={mySQL};Server=myServerAddress;Port=3306;Option=131072;Stmt=; Database=myDataBase;Uid=myUsername;Pwd=myPassword;

COPY TO CLIPBOARD
MyODBC 3.51 Local database

Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=myDataBase; User=myUsername;Password=myPassword;Option=3;

COPY TO CLIPBOARD
MyODBC 3.51 Remote database

Driver={MySQL ODBC 3.51 Driver};Server=data.domain.com;Port=3306;Database=myDataBase;User=myUsername; Password=myPassword;Option=3;

UVM...
[/EDIT]
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Tarrida am .
private Nachricht | Beiträge des Benutzers
Kovu
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Düsseldorf

Themenstarter:

beantworten | zitieren | melden

hab jetzt:

            MySqlConnection con = new MySqlConnection();
            con.ConnectionString = "Persist Security Info=False;database=backoffice;server=192.168.2.30;user id=root;";
            con.Open();

wieso klappt es nicht?

es kommt immer: "Access Denied "root"@"localhost""
Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



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

beantworten | zitieren | melden

Hallo,

ich glaube nicht, dass dein root ohne Passwort auskommt, oder etwa doch?

lg
lg Lion
private Nachricht | Beiträge des Benutzers
Kovu
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Düsseldorf

Themenstarter:

beantworten | zitieren | melden

Doch =) Ist nur n Testserver
Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?
private Nachricht | Beiträge des Benutzers
Kovu
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Düsseldorf

Themenstarter:

beantworten | zitieren | melden

Hallo?
Woran liegts den jetzt?
Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



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

beantworten | zitieren | melden

Hallo,

wir geben dir gerne Ratschläge, aber da hilft dir ds Drängen auch nicht.. sollte man mit 200 Beiträgen wissen ;-)

Anosnten woran es liegt ist doch klar:
Zitat
es kommt immer: "Access Denied "root"@"localhost""
da kann doch nur etwas mit deinem Benutzer bzw setting dafür falsch sein.
Eventuell mal Password mitübergeben, aber leer lassen, testen ob root wirklich kein Passwort hat (event ein leerzeichen )

Und auf den gelinkten Seiten gibts auch Beispiele:
http://dev.mysql.com/doc/refman/5.0/en/connector-net-examples-mysqlconnection.html
Wenn du diese nur auf deinen DB-Server anpasst, müßte es doch klappen.
lg
lg Lion
private Nachricht | Beiträge des Benutzers
Kovu
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Düsseldorf

Themenstarter:

beantworten | zitieren | melden

Hab ich doch:

Siehe oben: Eingegeben ist "Webserver", also der Hostname des Servers und er versucht auf meinen Rechner zu connecten?!?!?!? Selbst mit IP gehts nicht.
Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3777
Herkunft: Frankfurt a.M.

beantworten | zitieren | melden

ODBC ? Gibt's das denn noch ?

Im Ernst : ODBC ist langsam, umständlich und unflexibel.

Stelle die Verbindung zum mySQL-Server IMMER zuerst mit dem MySQL Query Browser her !!

Wichtig !

Wenn das klappt dann installiere den .NET Connector von MySQL und probiere das damit.

Wenn der MySQL Server auf einem anderen Rechner ist musst Du die Rechte noch freigeben, z.B. für Linux :

Benutzer anlegen :
/var/lib/mysql/mysql
-> mysql> (MySQL Prompt erscheint)
GRANT ALL PRIVILEGES ON *.* TO 'User3'@'localhost' IDENTIFIED BY 'user3' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'user3'@'%' IDENTIFIED BY 'user3' WITH GRANT OPTION;
QUIT

Zugriff über das Netzwerk erlauben :
Datei /var/lib/mysql/my.conf editieren :
remote ... = 127.0.0.1
ändern in
#remote ... = 127.0.0.1

Ein paar Tipps sind noch hier : http://www.seven-c.de/files/datenbankenhowto.htm

Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
Kovu
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Düsseldorf

Themenstarter:

beantworten | zitieren | melden

Danke für die Hilfe, ist nur leider nutzlos =)

Datenbank kann ich per PHP von aussen ansprechen, ausserdem ist es ein XAMPP Windows System.
Nur leider iwie per C#.net nicht

und unmgestiegen auf den Connector bin ich auch schon =)
Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



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

beantworten | zitieren | melden

Hallo,

dann bitte ich dich, wenn man dir Links postet, sie dir auch eventuell genauer anzuschauen und auch derren Möglichkeit zu versuchen:
Zitat
myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass"

Was mir gleich ins Auge sticht ist, dass hier z.B.: kein server tag gibt.. wie bzw. ob das eine Auswirkung hat, weiß ich nicht, Wenn Root kein Passwort hat, würde ich eventuell trotzdem "Password=;" anhängen.

lg

€dit: Rechtschreibkorrektur
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Lion1984 am .
lg Lion
private Nachricht | Beiträge des Benutzers
Kovu
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Düsseldorf

Themenstarter:

beantworten | zitieren | melden

Also Fehler gefunden.

Der User "root" darf nur local zugreifen, da php immer auf dem Server ausgeführt wird, ist das kein Problem per php root zu benutzen. In DotNet schon. 2. User erstellt, fertig.
Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?
private Nachricht | Beiträge des Benutzers
Kovu
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Düsseldorf

Themenstarter:

beantworten | zitieren | melden

Kann mir einer sagen wie ich die Zeilenanzahl rausbekomme?


                MySqlCommand com = new MySqlCommand();
                com.CommandText = "Select * from tbl_message where `To` = '1006' and `Read` = '0'";
                com.Connection = con;
                MySqlDataReader read = com.ExecuteReader();
Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



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

beantworten | zitieren | melden

Ja die Doku zum MySQLDataReader kann dir das sicher verraten.
lg Lion
private Nachricht | Beiträge des Benutzers
Kovu
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Düsseldorf

Themenstarter:

beantworten | zitieren | melden

Hab nichts dergleichen gefunden
Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



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

beantworten | zitieren | melden

Wenn ich mich nicht irre ist "RecordsAffected" das was du suchst, und wie gesagt, in der Doku auffindbar, aber nur bei geänderten Werten.

Ansonsten musst du, soviel ich weiß, eine Count Abfrage davor machen

lg
Edit: Paar Fehler ausgebessert
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Lion1984 am .
lg Lion
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3777
Herkunft: Frankfurt a.M.

beantworten | zitieren | melden

Kovu : Wenn Du das zuerst mit dem MySQL Query browser probiert hättest wärst Du schneller zum Ergebnis gekommen.

Das hat schon seinen Grund warum ich den Leuten sage IMMER zuerst mit dem SQL Management Studio oder mit dem MySQL Query Browser eine Verbindung aufbauen.

Dann sieht man sofort ob es am eigenen C#-Programm oder an den Berechtigungen liegt.

Zeilenzahl :

string sqlstr = "Select count(*) from tbl_message where `To` = '1006' and `Read` = '0'";
...
int anzahl =  (int)(long)dr[0];
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers