Estoy realizando una aplicación en la que se genere un reporte y a la vez lo convierta a PDF. Al ser principiante en el uso de reportes en Asp.NET, lo primero que hice fue tratar de generar el reporte y exportarlo a pdf. Perfecto, eso lo hice bien. Sin embargo, cuando traté de conectar mi reporte a la base de datos (tal como lo he hecho en crystal report 8.5, 7 y 6), coloqué en add/remove database del reporte la conexión con la base de datos. Coloqué los campos que necesito y luego en el code behind coloqué esto:
Código:
No le especifico user y pass porque es con Integrated Security...crTables = Report.Database.Tables For Each crTable In crTables crConnInfo.DatabaseName = "DB" crConnInfo.ServerName = "NTSRV" crLogOnInfo = crTable.LogOnInfo crLogOnInfo.ConnectionInfo = crConnInfo crTable.ApplyLogOnInfo(crLogOnInfo) Next
Mi código completo es este :
Código:
y cuando lo ejecuto me dice Logon Failed. Dim Report As New Reporte2 Dim exportOpts As New CrystalDecisions.Shared.ExportOptions Dim diskOpts As New CrystalDecisions.Shared.DiskFileDestinationOptions diskOpts.DiskFileName = "c:\Reporte.pdf" Report.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize Report.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.DefaultPaperOrientation Dim crTables As CrystalDecisions.CrystalReports.Engine.Tables Dim crTable As CrystalDecisions.CrystalReports.Engine.Table Dim crConnInfo As New CrystalDecisions.Shared.ConnectionInfo Dim crLogOnInfo As CrystalDecisions.Shared.TableLogOnInfo crTables = Report.Database.Tables For Each crTable In crTables crConnInfo.DatabaseName = "DB" crConnInfo.ServerName = "NTSRV" crLogOnInfo = crTable.LogOnInfo crLogOnInfo.ConnectionInfo = crConnInfo crTable.ApplyLogOnInfo(crLogOnInfo) Next exportOpts = Report.ExportOptions exportOpts.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat exportOpts.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile exportOpts.DestinationOptions = diskOpts Report.Export() Response.Write("<script>" & vbCrLf) Response.Write("window.open('" & "c:/Reporte.pdf" & "');" & vbCrLf) Response.Write("javascript:history.back();" & vbCrLf) Response.Write("</script>")
Lo que deduzco es que el problema está en la conexión del reporte a la base de datos con este método de windows athentication. Ya he tenido ciertos inconvenientes con este tipo de método para mis aplicaciones web. No obstante, he podido solucionarlos.
Ahora me surge este y no se qué podré estar haciendo mal. Estaría agradecida si alguien pudiera orientarme...