hallo,
mein erstes Posting hier 😃
Und gleich eine schwierige Frage.
Kann man im Visual Studio 2008 Reports machen und die Daten dafür aus einer MySQL-Db holen?
Hallo Krone1,
mein erstes Posting hier 😃
willkommen im Forum !
Und gleich eine schwierige Frage.
Ach was !!!
Ja klar geht das.
Du kannst sowohl Crystal Report Reports als auch Reporting Services Reports aus einem Dataset füllen.
Und ein Dataset kannst Du aus MySQL füllen.
Meine Reports funktionieren mit MS SQL, SQL Compact, mySQL, PostgreSQL und Oracle, ohne Änderung.
Du kannst den Report auch direkt mit MySQL über Ole DB verbinden : Datenquelle / Ole DB / MySQL. Ich würde aber den Weg über ein Dataset vorziehen.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Zum Thema "Crystal Reports" findet man einiges im Internet. Allerdings kenne ich das nicht und würde auch gerne vermeiden, es verwenden zu müssen.
Es gibt im Studio ein Element "Bericht".
Rechte Maustaste auf das Projekt -> hinzufügen -> neues Element.
Dann findet man dieses "Bericht".
Das würde ich gerne verwenden.
Außerdem verwende ich den MySQL-connector von http://dev.mysql.com/downloads/connector/net/
Der Weg sollte also folgendermaßen sein:
O.T.: Gruß an meine alte Heimat FFM 😉
Rechte Maustaste auf das Projekt -> hinzufügen -> neues Element.
Damit fügst Du einen Reporting Services Report hinzu. Würde ich auch Crystal vorziehen.
Report aus Dataset füttern :
DataSet ds = new DataSet();
...
// DS füllen
...
reportViewer1.ProcessingMode = ProcessingMode.Local;
// Embedded Report
reportViewer1.LocalReport.ReportEmbeddedResource = "QUASAR3.Reports." + repname;
// Externer Report
// reportViewer1.LocalReport.ReportPath = verz + repname;
ReportDataSource src = new ReportDataSource(dat, ds.Tables[dat]);
reportViewer1.LocalReport.DataSources.Add(src);
Application.DoEvents();
reportViewer1.RefreshReport();
Infoseite zu Report Viewer : http://www.gotreportviewer.com/
Grüße Bernd
PS.: Gruß zurück aus Ffm
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Ok! Also ist so der Datenstrom:
MySQL -> DataTable -> ReportDataSource -> ReportViewer
Dieses ReportDataSource muss man anscheinend noch dazwischenschieben.
"QUASAR3.Reports." + repname;
Was ist denn das für ein String??
Ist das ein beliebiger Name?
'QUASAR3' ist der Name des Namespace.
'Reports' das Unterverzeichnis in dem meine Reports sind.
'repname' der Name des Reports, mit der Endung '.rdlc'
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Alles klar. Report und Reportviewer sind ja 2 unterschiedliche Sachen.
Ich werde das morgen dann mal ausprobieren 😃
vorerst mal Danke 😃
Rechte Maustaste auf das Projekt -> hinzufügen -> neues Element.
Damit fügst Du einen Reporting Services Report hinzu. Würde ich auch Crystal vorziehen.
Report aus Dataset füttern :
Hallo BerndFfm,
eine kurze Frage dazu: Das Design des Reports geschieht ja in VS (2008). Da wird ja u.a. eine Datenquelle definiert. Zur Designtime ist das o.k. zur Laufzeit möchte ich aber nur das Dataset verwenden. Wird denn die Datenquelle trotzdem geöffnet, weil ja definiert ?. Das würde ich nicht wollen..
Gruß
Thomas
Wird denn die Datenquelle trotzdem geöffnet, weil ja definiert ?
Nur wenn Spalten im Bericht vorkommen, die nicht im Dataset enthalten sind.
Also nein.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Nichteinmal dann.
Der ReportViewer hat keine Möglichkeit eingebaut um sich Daten selber zu besorgen.
Danke. Ich muß gestehen, dass ich diesen Reportviewer immer ignoriert habe. Es scheint aber zu Unrecht gewesen zu sein -)
Thomas
Der neue Report Builder Version 3.0 hat eine Vorschau, die natürlich direkt auf die Daten zugreifen will.
Wenn man den Report an den Kunden weitergibt kann es sein dass Datenbank-User und -Kennwort in der rdlc-Datei stehen.
Ich mache das so dass ich die Daten in ein Dataset lade, daraus eine XML-Datei erzeuge (ds.WriteXml) und diese als Quelle im Bericht angebe. Die XML-Datei brauche ich natürlich nur fürs Design und für die Vorschau. Zur Laufzeit reicht das Dataset.
Die XML-Datei kann dann auch ein paar Demodaten beinhalten.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3