2009-08-25 7 views
0

J'ai RDL qui l'utilise dans une application (windows forms) .net 2.0.Intermittente DefinitionInvalidException avec Windows Forms ReportViewer 2008

Lorsque l'utilisateur clique sur dans l'application, rdl est rechargé dans le visualiseur de rapports. Pour le même RDL, j'ai parfois l'erreur, parfois non. Lorsque j'exécute le débogage de l'application dans Visual Studio, l'erreur ne se produit jamais. Immédiatement après la course, je lance l'exe du dossier bin et maintenant je reçois des erreurs (mais seulement 50% du temps, le rapport est rafraichie)

L'exception se produit quand je l'appelle ReportViewer.RefreshReport

Je J'ai regardé à travers le RDL à chaque endroit où il y a un minOccurs et ils sont tous "0" ou "1". Il est intéressant si j'appelle Application.DoEvents() immédiatement avant que j'appelle RefreshReport je peux mais la quantité de temps l'erreur se produit jusqu'à 5% ... mais il arrive encore occasionnellement!

La définition du rapport 'Rapport principal' n'est pas valide. , Une erreur inattendue s'est produite dans le traitement du rapport. , la valeur de l'attribut 'minOccurs de n'est pas valide - La valeur de l'attribut' minOccurs doit être de xsd: nonNegativeInteger .. (DefinitionInvalidException) Stack Trace: Microsoft.Reporting.DefinitionInvalidException: La définition du rapport « principal Le rapport 'est invalide. ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Une erreur inattendue s'est produite dans le traitement du rapport. ---> System.Xml.Schema.XmlSchemaException: La valeur de l'attribut 'minOccurs' est invalide - La valeur de l'attribut 'minOccurs' doit être xsd: nonNegativeInteger .. at System.Xml.Schema.XmlSchema.Read (lecteur de XmlReader, ValidationEventHandler ValidationEventHandler) à System.Xml.Schema.XmlSchema.Read (stream stream, ValidationEventHandler ValidationEventHandler) à Microsoft.ReportingServices.ReportProcessing.ReportPublishing.RmlValidatingReader..ctor (XmlTextReader TextReader, PublishingErrorContext errorContext, String targetRDLNamespace) à Microsoft.ReportingServices.ReportProcessing.ReportPublishing.RmlValidatingReader.CreateReader (XmlTextReader upgradedRDLReader, PublishingErrorContext errorContext, String targetRDLNamespace) à Microsoft.ReportingServices.ReportProcessing.ReportPublishing.Phase1 (CatalogItemContext repor tContext, Byte [] définition, CreateReportChunk createChunkCallback, CheckSharedDataSource checkDataSourceCallback, String Description &, langue Chaîne &, DataSourceInfoCollection & sources de données, UserLocationFlags & userReferenceLocation, booléennes & hasExternalImages, Boolean & hasHyperlinks) à Microsoft.ReportingServices.ReportProcessing.ReportPublishing.CreateIntermediateFormat (CatalogItemContext reportContext, Byte [] définition, CreateReportChunk createChunkCallback, CheckSharedDataSource checkDataSourceCallback, PublishingErrorContext errorContext, AppDomain compilationTempAppDomain, Boolean generateExpressionHostWithRefusedPermissions, Chaîne & Description, Chaîne & language, ParameterInfoCollection & paramètres, DataSourceInfoCollection & & sources de données, UserLocationFlags userReferenceLocation, ArrayList & dataSetsName, booléens & hasExternalImages, Boolean & hasHyperlinks) à Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CompileReport (CatalogItemContext reportContext, byte [] ReportDefinition, CreateReportChunk createChunkCallback, CheckSharedDataSource checkDataSourceCallback, PublishingErrorContext errorContext, AppDomain compilationTempAppDomain, generateExpressionHostWithRefusedPermissions booléennes, String & ReportDescription, String & ReportLanguage, ParameterInfoCollection & paramètres, DataSourceInfoCollection & sources de données, UserLocationFlags & userReferenceLocation, ArrayList & dataSetsName, Boolean & hasExternalImages, boolean & hasHyperlinks) à Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat (CatalogItemContext reportContext, Byte [] reportDefinition, CreateReportChunk createChunkCa llback, CheckSharedDataSource checkDataSourceCallback, AppDomain compilationTempAppDomain, generateExpressionHostWithRefusedPermissions booléennes) --- Fin de trace de pile d'exception interne --- à Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat (CatalogItemContext reportContext, byte [] ReportDefinition, CreateReportChunk createChunkCallback, CheckSharedDataSource checkDataSourceCallback, AppDomain compilationTempAppDomain, generateExpressionHostWithRefusedPermissions booléennes) à Microsoft.Reporting.ReportCompiler.CompileReport (contexte CatalogItemContext, byte [] ReportDefinition, generateExpressionHostWithRefusedPermissions booléennes, ReportSnapshotBase & instantané) --- Fin de trace de pile d'exception interne --- à Microsoft.Reporting. ReportCompiler.CompileReport (CatalogItem contexte de contexte, byte [] ReportDefinition, generateExpressionHostWithRefusedPermissions booléennes, ReportSnapshotBase & instantané) à Microsoft.Reporting.StandalonePreviewStore.StoredReport.CompileReport() à Microsoft.Reporting.StandalonePreviewStore.StoredReport.get_Snapshot() à Microsoft.Reporting.StandalonePreviewStore.GetCompiledReport (contexte CatalogItemContext, reconstruire booléenne, ReportSnapshotBase & instantané) à Microsoft.Reporting.LocalService.GetCompiledReport (CatalogItemContext itemContext, reconstruire booléenne, ReportSnapshotBase & instantané) à Microsoft.Reporting.LocalService.CompileReport (CatalogItemContext itemContext, reconstruire Boolean) chez Microsoft .Reporting.WinForms.LocalReport.CompileReport()

Répondre

0

Au lieu de

ReportViewer.RefreshReport 

Faire cela semblait réparer.

Application.DoEvents() 
ReportViewer.LocalReport.ExecuteReportInCurrentAppDomain(Reflection.Assembly.GetExecutingAssembly().Evidence)