Hallo,
In een VB.NET project exporteren we een CR rapport naar pdf.
Op de ontwikkel-PC werkt dit perfect, op de server waarop de toepassing is gepubliceerd echter niet.
Zowel op de PC als op de server staat dezelfde versie ven CR geïnstalleerd.
In ons project hebben we onderandere volgende referencies:
(Name) CrystalDecisions.CrystalReports.Engine
Copy Local TRUE
Culture
Description Crystal Reports for .NET
File Type Assembly
Identity CrystalDecisions.CrystalReports.Engine
Path C:\Windows\assembly\GAC_MSIL\CrystalDecisions.CrystalReports.Engine\12.0.2000.0__692fbea5521e1304\CrystalDecisions.CrystalReports.Engine.dll
Resolved TRUE
Runtime Version v2.0.50727
Specific Version TRUE
Strong Name TRUE
Version 12.0.2000.0
en
(Name) CrystalDecisions.Shared
Copy Local TRUE
Culture
Description Crystal Reports for .NET
File Type Assembly
Identity CrystalDecisions.Shared
Path C:\Windows\assembly\GAC_MSIL\CrystalDecisions.Shared\12.0.2000.0__692fbea5521e1304\CrystalDecisions.Shared.dll
Resolved TRUE
Runtime Version v2.0.50727
Specific Version TRUE
Strong Name TRUE
Version 12.0.2000.0
Dus de CR dll's zijn samen met het exe bestand gekopieëerd in de Release map.
De fout die we krijgen is: "Het laden van het rapport is mislukt". De foutmelding wordt door Crystal Reports gegenereerd, niet door een exception in onze code en geeft geen verdere details.
We hebben de exacte codelijn kunnen bepalen waar de foutmelding wordt gegenereerd tijdens uitvoering: crExportOptions = rpt.ExportOptions
Dit is de code die we gebruiken om de export te doen:
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Dim rpt As New rptRegistration
Dim crViewer As New CrystalDecisions.Windows.Forms.CrystalReportViewer
crViewer.ReportSource = rpt
crViewer.SelectionFormula = "{VW_RegistrationPdf.OrderNumber}=1"
crViewer.RefreshReport()
Dim crExportOptions As ExportOptions
Dim crDiskFileDestinationOptions As New DiskFileDestinationOptions()
Dim crFormatTypeOptions As New PdfRtfWordFormatOptions()
crDiskFileDestinationOptions.DiskFileName = "\\server\PdfDirectory\Registration0000001.pdf"
crExportOptions = rpt.ExportOptions
With crExportOptions
.ExportDestinationType = ExportDestinationType.DiskFile
.ExportFormatType = ExportFormatType.PortableDocFormat
.DestinationOptions = crDiskFileDestinationOptions
.FormatOptions = crFormatTypeOptions
End With
rpt.Export()
crViewer.Dispose()
rpt.Dispose()
Ter vollediging:
We hebben een andere vb.NET toepassing draaien op dezelfde server. Hierin worden dezelfde CR referenties gebruikt.
Hetzelfde CR rapport wordt gebruikt (via een referencie naar het foutieve project dat deel uit maakt van dezelfde sollution). Ook hier is een Crystal Report viewer gebruikt (CrystalDecisions.Windows.Forms.CrystalReportViewer).
In het correct functionerende project doen we geen export, maar gebruiken we de viewer om het rapport te tonen aan de gebruiker. Als de gebruiker via de exportknop een pdf aanmaakt van het rapport, werkt dit perfect.
We hebben geen ideeën meer om dit probleem op te lossen.
Misschien weet iemand in welke richting we moeten zoeken om dit probleem op te lossen.
Bedankt