Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/04/2008, 10:16
Avatar de LUISESPOCH
LUISESPOCH
 
Fecha de Ingreso: octubre-2006
Mensajes: 194
Antigüedad: 18 años, 3 meses
Puntos: 0
Porque Crystal no exporta 20 mil registros a PDF..?

Hola amigos, tengo el siguiente problema que espero uds me puedan ayudar a resolverlo.
Resulta que en el trabajo tenemos una aplicativo web con ASP.Net2003 y SQLServer2005 y para los reportes utilizamos el Crystal que viene por defecto instalado con VS.

El problema es con Crystal cuando yo intento traer por sobre las 10 mil registros,
y exportarlas en formato PDF o Excel; entonces ahi me sale el error, algo asi como: SystemOutMemory.

Para efectos de que comprendan el codigo heradado con el que me encontrè cuando empece a hecharle mano a unos reportes es el siguiente:

Este metodo (cod.B) que esta en una libreria.vb, lo invocamos desde la pagina "aspx" con el siguiente codigo (cod.A)


cod.A
...
...
Dim NomArchivo As String = Session.SessionID + DateTime.Now.ToString("hhmmss") + "." + VG_Formato
Dim Contexto As String = objRep.GeneraReporte(NomArchivo, VG_Formato, VG_archRpt, p_dsReporte, xmlParam, False)
Dim objUtil As Utilitario.utilFormulario = New Utilitario.utilFormulario
Dim Reporte As New System.Text.StringBuilder
Reporte.Append("../../../frmReportes.aspx?contexto=").Append(Contexto)
Reporte.Append("&FileName=").Append(NomArchivo)
objUtil.getJavaScript("AbrirWindow('" + Reporte.ToString() + "',1,600,400,200,200);", "Reporte", Page)
...
....



cod B.
Public Function GeneraReporte(ByVal PI_NomArchivo As String, ByVal PI_Formato As String,
ByVal PI_rptArchivo As String, ByVal PI_dsReporte As DataSet,
ByVal PI_xmlParam As XmlDocument) As String

Dim Contexto As String = ""
p_ReporteDoc = New ReportDocument
p_ReporteDoc.Load(PI_rptArchivo)
p_ReporteDoc.SetDataSource(PI_dsReporte)
SeteaParametro(PI_xmlParam)
Dim diskOpts As New DiskFileDestinationOptions
p_ReporteDoc.ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile
diskOpts.DiskFileName = p_objBase.MapPath + "\temp\" + PI_NomArchivo
p_ReporteDoc.ExportOptions.DestinationOptions = diskOpts
Select Case (PI_Formato)
Case "pdf"
p_ReporteDoc.ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat
Contexto = "application/pdf"
Case "xls"
p_ReporteDoc.ExportOptions.ExportFormatType = ExportFormatType.Excel
Contexto = "application/vnd.ms-excel"
End Select
p_ReporteDoc.Export()
End If
Return Contexto
End Function

A que se debe realmente esto...? a problemas con el Acrobath o el Crystal?
Alguna solucion para poder visualizar estas consultas extensas?
Le falta algo al metodo que exporta estos PDF?

Les agradezco señores de este foro, por la valiosa ayuda.

LE

Última edición por LUISESPOCH; 10/04/2008 a las 10:20 Razón: correcciones