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
MySql und ADO.NET
chriscolm
myCSharp.de - Member



Dabei seit:
Beiträge: 112

Themenstarter:

MySql und ADO.NET

beantworten | zitieren | melden

verwendetes Datenbanksystem: MySql 5.5.8, MySql 5.1.49, MySql 5.1.28
ADO.NET Connector 6.2.2
Windows XP, Windows 7

Moin,

also MySql und ich werden keine guten Freunde. Folgendes Phänomen:


DbCommand cmd = new MySqlCommand;
...
...
DbDataReader reader = cmd.ExecuteReader();
while(reader.Read()){
...
}
Soweit kein aufregender Code, der eigentlich auch funzt, ausprobiert mit ner MySql 5.1.28 Datenbank, einer 5.1.49 Datenbank und einer 5.5.8 Datenbank, und jetzt die Überraschung: bei 5.5.8 ist reader.HasRows IMMER = false, egal ob Zeilen in der Ergebnismenge sein müssen oder nicht, folglich wird die Schleife auch nicht durchlaufen. Toll, nicht wahr?
Ich habe den dringenden Verdacht dass MySql unter Linux bereits in der 5.1.49 dieses Verhalten an den Tag legt.
Da ich gerade kein MySql unter Linux zur Verfügung habe, hat jemand ähnliches festgestellt?

Grüße

Christian
private Nachricht | Beiträge des Benutzers
Gelöschter Benutzer

beantworten | zitieren | melden

wenn, dann liegt sowas immer am Db-Provider und nicht an der Datenbank. Hast du dir schon mal angeschaut, ob die Mysql versionen überhaupt von deinem Provider unterstützt werden?
chriscolm
myCSharp.de - Member



Dabei seit:
Beiträge: 112

Themenstarter:

beantworten | zitieren | melden

Moin,
so, jetzt wird es richtig esoterisch.
Habe meinen Code mal soweit modifizert, dass oben skizzierter Funktionsaufruf wiederholt wird, wenn der DataReader nicht die erwartete Anzahl an Zeilen zurückgibt. Beim zweiten oder dritten Mal liest der DataReader dann auch anstandslos Zeilen aus. Ey, das ist doch total krank.
Gleicher Code läuft übrigens auch anstandslos auf einer Microsoft SQL-Server Datenbank (natürlich mit den ensprechenden Verbindungsobjekten etc.)...

Ich denke, ich kann davon ausgehen, dass der ADO.NET-Treiber mit der Datenbank sprechen kann.

Grüße

Christian
private Nachricht | Beiträge des Benutzers
Ahrimaan
myCSharp.de - Member



Dabei seit:
Beiträge: 363
Herkunft: Thorn

beantworten | zitieren | melden

Schonmal probiert über das EF mit dem Connector zu arbeiten und zu gucken obs evtl. woanders dran liegt ?
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Ahrimaan am .
private Nachricht | Beiträge des Benutzers