c# rdlc Ne peut pas créer un objet DataReader pour dataset “ProjectDS_ObservationImages”
J'ai le problème suivant apparaissant dans un rapport, les données pour ce qui est chargée dynamiquement à l'aide de C# dans une victoire-formes .net 4.
Ne peut pas créer un objet DataReader pour dataset "projectDS_ObservationImages"
La source qui charge le rapport avec les données :
this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ProjectDS_Site", this._dsProjectData.Tables["Site"]));
this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ProjectDS_Client", this._dsProjectData.Tables["Client"]));
this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ProjectDS_Head", this.getRangedHeadersCopy(this._htExcludeHeaders)));
this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ProjectDS_Obs", this.getRangedObservationsCopy(this._htExcludeObservations)));
this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ProjectDS_Images", dtProjectImages));
this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ProjectDS_PMPL", this._dtPerMeterPerLineHeaders));
this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ProjectDS_ObservationImages", this._dtObervsationImages));
C'est la dernière source de données d'être ajoutés au rapport à l'origine du problème.
Chaque source de données est en fait une DataTable. Tous sont membres d'un DataSet dans ce projet (ou ont cloné un schéma), qui est utilisé comme le seul jeu de données dans le rapport. Les noms de le passé tables de données et les noms des Ensembles de Données dans le rapport de match de 100%.
Toutes les autres données transmis à l'état de travail, il n'y a rien de spécial à propos de cette source de données, par opposition à l'autre 6 réussi.
Pas d'erreurs sont fournis en sortie lors du traitement du rapport.
Ce qui a pu provoquer le DataReader à l'échec?
Merci pour toute entrée.
Mise à JOUR ------------------------------------------------------------------------
Renommage ne fonctionne pas, la reconstruction de la DataTable à la main ne fonctionne pas, la Création et la y compris une nouvelle DataTable avec les mêmes données ne fonctionne pas.
De copier et de coller le rapport des éléments dans un sous-rapport, et notamment le sous-rapport au rapport principal, tout fonctionne bien, même les données du code du bâtiment, les mêmes données et la même mise en page du rapport.
Pourrait le rdlc fichier corrompu?
OriginalL'auteur Gavin | 2013-12-16
Vous devez vous connecter pour publier un commentaire.
J'ai eu à regarder cela plus en détail, je ne comprends toujours pas pourquoi, mais j'ai un moyen de résoudre le problème qui ne nécessite pas un sous-rapport, et peut aider les autres.
Ouvrez l'état en mode source : clic droit dans l'explorateur de solutions, ouvrir avec, puis de l'éditeur XML.
Dans la rdlc source, vous verrez un élément
<DataSets>
qui est le parent de votre rapport définit des Ensembles de Données, chaque représenté comme un<DataSet>
nœud.Dans mon cas, l'une des causes de la ne peut pas créer de Lecteur de Données d'erreur est dernier.
La solution était tout simplement de couper et de coller le problème
<DataSet>
nœud à l'avant de la base de données de la collection, de sorte qu'elle s'affiche directement après la<DataSets>
nœud.Maintenant le rapport fonctionne très bien, pas d'erreur, et toutes les données sont chargées.
Pourquoi? Je vais laisser cette question ouverte dans l'espoir que quelqu'un peut expliquer.
OriginalL'auteur Gavin
J'ai eu le même problème lors de la tentative de combler plusieurs sous-états' Sources de données imbriqué dans une Table dans la SubreportProcessing - Événement.
Je l'ai corrigé en utilisant simplement un Objet source de données avec de multiples ensembles de données renseignées par un LINQ - Requête pour chaque via BindingSource au lieu de tables de données. Vous pouvez utiliser le DataContext - Constructeur ConnectionString Paramètre pour récupérer des Données à partir de plusieurs Serveurs ou les Sources.
J'ai eu à modifier les Rapports XML source de données les Articles directement, comme l'Assistant ajoute une source de données par jeu de données automatiquement.
OriginalL'auteur Stefan Ritter
Eu le même problème. Ce que je remarque, c'est que le
<Query>
balise pour le jeu de données qui échoue après la<Query>
qui est utilisé pour générer les sous-états, de sorte qu'il ressemble de traitement des sous-rapports d'une certaine manière invalide les données déjà renseignées dans le rapport parent. Autant vous dire que la solution est de mettre toutes les<Query>
éléments pour le rapport parent avant la<Query>
éléments utilisés pour générer les sous-rapports.OriginalL'auteur yowl00