J'ai créé un rapport Crystal en utilisant la méthode "pull" pour récupérer des données de SQL Server Express. J'exporte le rapport au format pdf. Cela fonctionne bien mais seulement lors du chargement de la page. J'obtiens cette erreur chaque fois que j'essaie d'exporter le rapport sur un postback.
Échec de l'ouverture de la connexion.
Détails: [Code fournisseur de base de données : 4060] Échec de l'ouverture de la connexion.
CrystalReportPull {2B7D5D2A-C29F-4F27-AFAD-EEAECD909D08}.rpt
Détails: [Code fournisseur de base de données : 4060]
Description: Une exception non gérée s'est produite lors de l'exécution de la requête web actuelle. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.Runtime.InteropServices.COMException: Échec de l'ouverture de la connexion.
Détails: [Code fournisseur de base de données : 4060] Échec de l'ouverture de la connexion.
CrystalReportPull {2B7D5D2A-C29F-4F27-AFAD-EEAECD909D08}.rpt
Détails: [Code fournisseur de base de données : 4060]
Fichier source: C:\Users\boruch\Dropbox\Korns-ConnectionStr\reports\CreateReport.aspx.vb Ligne: 60
Trace de la pile:
[COMException (0x800002f4): Échec de l'ouverture de la connexion.
Détails: [Code fournisseur de base de données : 4060]
Échec de l'ouverture de la connexion.
CrystalReportPull {2B7D5D2A-C29F-4F27-AFAD-EEAECD909D08}.rpt
Détails: [Code fournisseur de base de données : 4060]]
CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions, RequestContext pRequestContext) +0
CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +525
[InternalException: Échec de l'ouverture de la connexion.
Détails: [Code fournisseur de base de données : 4060]
Échec de l'ouverture de la connexion.
CrystalReportPull {2B7D5D2A-C29F-4F27-AFAD-EEAECD909D08}.rpt
Détails: [Code fournisseur de base de données : 4060]]
CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e) +346
CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +627
CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext) +1203
CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToStream(ExportOptions options) +150
CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToHttpResponse(ExportOptions options, HttpResponse response, Boolean asAttachment, String attachmentName) +211
CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToHttpResponse(ExportFormatType formatType, HttpResponse response, Boolean asAttachment, String attachmentName) +240
reports_CreateReport.Page_SaveStateComplete(Object sender, EventArgs e) en C:\Users\boruch\Dropbox\Korns-ConnectionStr\reports\CreateReport.aspx.vb:60
System.Web.UI.Page.OnSaveStateComplete(EventArgs e) +9644490
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1282
Voici mon code en vb.net :
txt_from.Text = Now.Date.AddYears(-1)
txt_to.Text = Now.Date
If IsPostBack Then
Dim report As New ReportDocument()
report.Load(Server.MapPath("~/reports/CrystalReportPull.rpt"), OpenReportMethod.OpenReportByTempCopy)
Dim custID As Integer = -1
If ddl_Customer.SelectedValue <> "" Then
custID = CInt(ddl_Customer.SelectedValue)
End If
report.SetParameterValue(0, txt_from.Text)
report.SetParameterValue(1, txt_to.Text)
report.SetParameterValue(2, custID)
Dim logonInfo As New CrystalDecisions.Shared.TableLogOnInfo()
Dim CrystalTable As CrystalDecisions.CrystalReports.Engine.Table
For Each CrystalTable In report.Database.Tables
logonInfo = CrystalTable.LogOnInfo
logonInfo.ConnectionInfo.ServerName = "BORUCH-PC\SQLEXPRESS"
logonInfo.ConnectionInfo.DatabaseName = ""
logonInfo.ConnectionInfo.UserID = ""
logonInfo.ConnectionInfo.Password = ""
CrystalTable.ApplyLogOnInfo(logonInfo)
Next
report.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "ExportedReport")
report.Dispose()
End If
J'obtiens la même erreur lorsque j'exécute ce code dans un clic sur un bouton, ou même dans pageload si je l'encadre dans une clause if ispostback
.
J'ai essayé d'exécuter ce code dans prerender, init etc... sans succès.
Version de Crystal Reports 13.0, .NET 3.5, SQL Server 2008 Express, VS 2010
Toute aide serait grandement appréciée.