none
vincular un datasource al reporte (reporting services 2005) RRS feed

  • Pregunta

  • Hola a todo tengo el siguiente problema estoy tratando de llamar un reporte de un servidor pero no se como asignarle el origen de datos, lo que quiero decir es que desde el servidor se configura la conexión para el reporte, pero no se si por código se puede tener acceso a ella para poder ejecutar el reporte.  El siguiente es el código que he hecho hasta ahora.

    Agradezco cualquier colaboración gracias

    lo siguiente esta en un botón y en el formulario hay un control reportviewer1

     

     ReportViewer1.ServerReport.ReportPath = "/carpeta1/carpeta2/nombrereporte"
            ReportViewer1.ServerReport.ReportServerUrl = New System.Uri("http://server/ReportServer/")

            Dim p As New System.Collections.Generic.List(Of Microsoft.Reporting.WinForms.ReportParameter)
            Dim d As Microsoft.Reporting.WinForms.ReportParameterInfoCollection = ReportViewer1.ServerReport.GetParameters()
            Dim di As Microsoft.Reporting.WinForms.ReportParameterInfo
            For Each di In d
                If di.Name.ToLower = "nombre" Then
                    p.Add(New Microsoft.Reporting.WinForms.ReportParameter("parametro", "valorparametro"))
                End If
            Next
            ReportViewer1.ServerReport.SetParameters(p)
            ReportViewer1.PromptAreaCollapsed = False

    'hasta aqui no se como asociar el origen de datos al reporte, de hecho me muestra el reporte 'en blanco con un error que dice "The source of then report definition has not been specified"
            ReportViewer1.RefreshReport()

    martes, 24 de agosto de 2010 0:07

Respuestas

  • Si no me equivoco, lo que te falta es ponerle Remote en la propiedad ProcessingMode del ReportViewer. De lo contrario toma por defecto el valor Local, e intenta procesar un report local (.rdlc). Como no le has indicado la ruta del rdlc, te da el error diciendo que no encuentra el origen del reporte (no el origen de los datos, como tú dices).

    Una vez que lo cambies a Remote y ya saque el reporte desede el servidor, no tienes que hacer nada en absoluto para indicarle en el cliente el origen de datos, ya que con los informes de servidor (.rdl) el origen de datos está metido dentro del .rdl, y por tanto el servidor ya lo conoce, así que en el código cliente no tienes que hacer nada para indicarlo.

     

    martes, 24 de agosto de 2010 6:25
    Moderador
  • excelente gracias, funcionó
    • Marcado como respuesta kapeski martes, 24 de agosto de 2010 20:47
    martes, 24 de agosto de 2010 20:46

Todas las respuestas

  • Si no me equivoco, lo que te falta es ponerle Remote en la propiedad ProcessingMode del ReportViewer. De lo contrario toma por defecto el valor Local, e intenta procesar un report local (.rdlc). Como no le has indicado la ruta del rdlc, te da el error diciendo que no encuentra el origen del reporte (no el origen de los datos, como tú dices).

    Una vez que lo cambies a Remote y ya saque el reporte desede el servidor, no tienes que hacer nada en absoluto para indicarle en el cliente el origen de datos, ya que con los informes de servidor (.rdl) el origen de datos está metido dentro del .rdl, y por tanto el servidor ya lo conoce, así que en el código cliente no tienes que hacer nada para indicarlo.

     

    martes, 24 de agosto de 2010 6:25
    Moderador
  • excelente gracias, funcionó
    • Marcado como respuesta kapeski martes, 24 de agosto de 2010 20:47
    martes, 24 de agosto de 2010 20:46