Rporting salvataggio automatico PDF

venerdì 18 luglio 2008 - 15.29

uncle_dallas Profilo | Newbie

Utilizzando Reporting Services ho creato un report che contiene un subreport, apro in automatico il pdf e lo archivio lato server. Però nel pdf che archivio non va a buon fine la chiamata al sotto report.
Qualcuno si è scontrato con una problematica simile?

freeteo Profilo | Guru

ciao,
che errore ti da precisamente?
Se stai usando il report viewer, hai gestito l'evento di "SubReportProcessing" del report principale?
E come lo esporti in pdf, da codice?

Posta qualche info in più che ci può aiutare a capire. Grazie.


ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

uncle_dallas Profilo | Newbie

Il codice è questo.
Sub SalvaPDF()
Dim MiaConn As New SqlConnection("Data Source=192.168.10.109;Initial Catalog=italaromi;UID=sa;Pwd=menta2004!")
Dim warnings As Warning() = Nothing
Dim streamids As String() = Nothing
Dim mimeType As String = Nothing
Dim encoding As String = Nothing
Dim extension As String = Nothing
Dim deviceInfo As String
Dim bytes As Byte()
Dim lr As New ReportViewer
lr.LocalReport.ReportPath = "Report_Offerta.rdl"


Dim DT As New DataTable()
Dim SQLStr As String
Dim SQLStrP As String
'SQLStr = "SELECT * FROM Offerta WHERE (IDOfferta = @IDOfferta) AND (Offerta_Cancellata = 0)"
SQLStr = "SELECT * FROM Offerta WHERE (IDOfferta = 289) AND (Offerta_Cancellata = 0)"
SQLStrP = "SELECT * FROM OffertaProdotti WHERE OffertaProdotti_IDOfferta = 212"

Dim DA As New SqlDataAdapter(SQLStr, MiaConn)
DA.Fill(DT)

Dim DAP As New SqlDataAdapter(SQLStrP, MiaConn)
Dim DTP As New DataTable()

DAP.Fill(DTP)

Dim DS As New ReportDataSource("DataSet_Offerta", DT)
Dim DSProdotti As New ReportDataSource("DataSet_OffertaProdotti", DTP)

Dim ReportParamID As New ReportParameter
Dim ReportParamIntestazione As New ReportParameter

lr.LocalReport.DataSources.Add(DS)
'lr.LocalReport.DataSources.Add(DSProdotti)

ReportParamID.Name = "IDOfferta"
'ReportParamID.Values.Add(Request.QueryString("IDOfferta"))
ReportParamID.Values.Add("289")
ReportParamIntestazione.Name = "Intestazione"
'ReportParamID.Values.Add(Request.QueryString("Intestazione"))
ReportParamID.Values.Add("0")
Dim ReportParams As ReportParameter() = {ReportParamID, ReportParamIntestazione}
lr.LocalReport.SetParameters(ReportParams)
deviceInfo = "<DeviceInfo><SimplePageHeaders>True</SimplePageHeaders></DeviceInfo>"
bytes = lr.LocalReport.Render("PDF", deviceInfo, mimeType, encoding, extension, streamids, warnings)

'Dim da As New SqlDataAdapter("SELECT * FROM Campionature WHERE IDCampionatura = '" & Request.QueryString("IDsample") & "'", MiaConn)
'Dim dt As New DataTable
'da.Fill(dt)
'Dim dr As DataRow
'Dim strCodiceCampionatura As String
'For Each dr In dt.Rows
'strCodiceCampionatura = dr("CodiceCampionatura").ToString
'Dim fs As New FileStream(Server.MapPath("Report/SDFSampling" & strCodiceCampionatura & ".pdf"), FileMode.Create)
'fs.Write(bytes, 0, bytes.Length)
'fs.Close()
'Next

Dim fs As New FileStream("c:\Test.pdf", FileMode.Create)
fs.Write(bytes, 0, bytes.Length)
fs.Close()


End Sub

E l'errore consiste nel fatto che nel PDF generato non carica il subreport ma scive "Error: Subreport could not be shown."

Grazie per la risposta, mi scuso per la poca comprensibilità del messaggio precedente, sperio che così sia più facile avere un'idea del problema.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5