Windows Azure SQL Reporting para desarrolladores de aplicaciones Este tema proporciona información acerca de la implementación de un proyecto de servidor de informes de servidor de informes de Windows Azure SQL Reporting, y la obtención de información iniciado por los desarrolladores de aplicaciones que integran los informes recibidos por Windows Azure SQL Reporting en sus aplicaciones, así como el desarrollo de herramientas de gestión de los servidores de informes de SQL Reporting. Para empezar a trabajar con Windows Azure SQL Reporting, debe tener una suscripción de Windows Azure. Puede utilizar una suscripción existente, una nueva suscripción, o la suscripción de prueba gratuita. Para obtener más información, consultehttp://www.windowsazure.com/en-us/ . Esta guía asume que usted tiene alguna experiencia previa en desarrollo de aplicaciones personalizadas que utilizan SQL Server Reporting Services. Para obtener más información, consulte la Guía del desarrollador (Reporting Services) . La guía también asume que usted tiene algún conocimiento sobre el uso de los controles ReportViewer. Para una visión general de los controles ReportViewer, vea Controles ReportViewer (Visual Studio) . Objetivos En este tutorial usted aprenderá cómo: Implementar un proyecto de servidor de informes a un servidor de informes de SQL Reporting. Rendir informes de los controles ReportViewer. Acceder mediante programación utilizando SQL Reporting Endpoint Management JABÓN Tutoriales Segmentos 1. 2. 3. 4. Implementar un proyecto de informe Acceda a informes de SQL Reporting en los controles ReportViewer Informes acceso mediante programación mediante SOAP Endpoint Management Pasos siguientes Implementar un proyecto de informe De Business Intelligence Development Studio (BIDS) de SQL Server, se puede implementar todos los informes y orígenes de datos compartidos en un proyecto de servidor de informes en un servidor de informes de Windows Azure SQL Reporting.Puede implementar la totalidad del proyecto o informes individuales o fuentes de datos. Antes de implementar los informes o fuentes de datos, es necesario establecer las propiedades del proyecto del proyecto de servidor de informes en Business Intelligence Development Studio. Para establecer propiedades de implementación 1. Abra un proyecto de servidor de informes ya existentes. En el Explorador de soluciones , haga clic en el proyecto de servidor de informes y haga clic en Propiedades . ( Si la ventana Explorador de soluciones no está visible, en el menú Ver, haga clic en el Explorador de soluciones. ) Para obtener más información sobre cómo crear un proyecto de servidor de informes, vea Crear un proyecto de servidor de informes . Para otros tutoriales, vea Tutoriales (SSRS) . 2. En la lista Configuración, seleccione la configuración de despliegue que desea utilizar. 3. En OverwriteDataSources y OverwriteDatasets , seleccione True para sobrescribir en el servidor cada vez que se despliegan o seleccione False para mantener las versiones existentes en el servidor. 4. En el TargetServerVersion lista, compruebe que el valor se establece en SQL Server 2008 R2. 5. En TargetDataSourceFolder y TargetReportFolder , escriba el nombre de la carpeta en el servidor de informes en los que implantar el elemento de informe. Si deja el valor de TargetDataSourceFolder en blanco, las fuentes de datos se publicarán en la ubicación especificada enTargetReportFolder . Si TargetReportFolder está en blanco, informes y fuentes de datos se implementan en la carpeta raíz del servidor. Conjuntos de datos y elementos de informe no se pueden administrar directamente en el servidor de informes de SQL Reporting y no necesitan proporcionar valores para TargetDatasets y TargetReportPartFolder . 6. En el TargetServerURL , escriba la dirección URL del servidor de informes de SQL Reporting objetivo. La sintaxis de la URL es https:// <NombreServidor> .reporting.windows.net / ReportServer . Para implementar todos los informes en un proyecto En el Explorador de soluciones , haga clic en el proyecto de informe y haga clic en Implementar . Se le pedirá las credenciales de inicio de sesión de SQL Reporting. Al implementar un proyecto de servidor de informes, también se despliegan los orígenes de datos compartidos en el proyecto de informe. Para implementar un único informe En el Explorador de soluciones , haga clic en el informe y haga clic en Implementar . Puede ver el estado del proceso de publicación en la ventana de salida. Cuando se publica un informe, también debe implementar los orígenes de datos compartidos que utiliza el informe. Para implementar una única fuente de datos En el Explorador de soluciones , haga clic en el origen de datos y haga clic en Deploy . Puede ver el estado del proceso de publicación en la ventana de salida. Acceda a informes de SQL Reporting en los controles ReportViewer Al igual que en informes desplegados en las instalaciones de SQL Server Reporting Services (SSRS) servidores de informes, los informes implementados en servidores de informes de Windows Azure SQL Reporting se pueden mostrar en las aplicaciones ASP.NET utilizando el control ReportViewer Visual Studio. Controles ReportViewer se envían con Visual Studio 2010, Standard Edition o ediciones superiores. Si está utilizando la Web Developer Express Edition, debe instalar el Report Viewer 2010 Redistributable Package Microsoft para utilizar las funciones de tiempo de ejecución ReportViewer. Integrar ReportViewer en una aplicación de Windows Azure, es necesario prestar atención a lo siguiente: Incluya los montajes necesarios en el paquete de distribución. Configuración de la autenticación y la autorización apropiada. Para obtener más información, vea Cómo: Utilizar ReportViewer en un sitio web hospedado en Windows Azure . Para obtener más información sobre el uso de ReportViewer en un sitio web de Windows Azure que utiliza más de una instancia de rol web, consulte Uso del control ReportViewer de ASP.NET en Windows Azure . Crear el proyecto de Windows Azure con el control ReportViewer 1. Utilice privilegios de administrador para ejecutar Microsoft Visual Studio 2010 o Microsoft Visual Web Developer Express 2010. Para ello, en Inicio | Todos los programas | Microsoft Visual Studio 2010 , haga clic en el Microsoft Visual Studio 2010 (o Microsoft Visual Web Developer Express 2010) y seleccione Ejecutar como administrador. Si aparece el cuadro de diálogo de Control de cuentas de usuario, haga clic en Continuar . El de Windows Azure requiere emulador que Visual Studio se iniciará con privilegios de administrador. Para obtener más información acerca de Windows Azure Compute emulador y otras herramientas de SDK, consulte Descripción general de las herramientas de Windows Azure SDK . En Visual Studio, en el archivo de menú, haga clic en Nuevo y, a continuación, haga clic en Proyecto . 2. De Plantillas instaladas, en Visual C #, haga clic en la nube y haga clic en proyecto de Windows Azure . Nombre de la aplicación y haga clic en Aceptar . 3. En el proyecto de Windows Azure Nueva de diálogo, dentro del . NET Framework 4 funciones del panel, expanda la ficha para el idioma de su elección (Visual C # o Visual Basic), seleccione ASP.NET Web Role de la lista de funciones disponibles y haga clic en la flecha (>) para agregar una instancia de esta función a la solución. Antes de cerrar el cuadro de diálogo, seleccione el nuevo papel en el panel derecho, haga clic en el icono de lápiz y cambiar el nombre de la función. Haga clic en Aceptar para crear la solución de servicios cloud. 4. En el Explorador de soluciones , revise la estructura de la solución creada. Si el Explorador de soluciones no está visible, haga clic en Explorador de soluciones en el Vista menú. 5. En el modo de diseño de Default.aspx, arrastre el control ReportViewer desde el grupo de informes del cuadro de herramientas al formulario Web. Para abrir el cuadro de herramientas , haga clic en Herramientas en la Vista demenú. Puede acoplar la caja de herramientas , y usted puede fijarlo abierto o ponerlo en Ocultar automáticamente. 6. Ajuste el ProcessingMode del control ReportViewer a distancia . ReportViewer configurado Local modo de procesamiento no está soportado en Windows Azure. Establezca las otras propiedades del control ReportViewer para determinar la visibilidad y disponibilidad de áreas de observación. Utilice la documentación de referencia para aprender acerca de cada propiedad. Para obtener más información, consulte Propiedades ReportViewer . Para usar el ReportViewer control en un formulario Web, también debe agregar un ScriptManager de control a la página. Desde el cuadro de herramientas ventana, en la Extensiones AJAX grupo, arrastre un ScriptManager control a la superficie de diseño por encima de la ReportViewer control. 7. El control ReportViewer gestiona la cookie de autenticación, haciendo sus tareas más fáciles. Para ver los informes implementados en un servidor de informes de SQL Reporting en el control ReportViewer, debe proporcionar la dirección URL del servidor de informes y la ruta informe como lo haría con cualquier servidor de informes. A continuación, implementar la interfaz IReportServerCredentials y utilizarlo en ServerReport.ReportServerCredentials. El siguiente ejemplo muestra cómo implementar los IReportServerCredentials: 1. /// <summary> 2. /// Implementation of IReportServerCredentials to supply forms credentials to SQL Reporting using GetFormsCredentials() 3. /// </summary> 4. using Microsoft.Reporting.WebForms; 5. using System.Security.Principal; 6. using System.Configuration; 7. using System.Net; 8. public class ReportServerCredentials : IReportServerCredentials 9. { 10. public ReportServerCredentials() 11. { 12. } 13. public WindowsIdentity ImpersonationUser 14. { 15. get 16. { 17. return null; 18. 19. 20. 21. 22. 23. 24. 25. } } public ICredentials NetworkCredentials { get { return null; } 26. } 27. public bool GetFormsCredentials(out Cookie authCookie, out string user, out string password, out string authority) 28. { 29. authCookie = null; 30. user = ConfigurationManager.AppSettings["USERNAME"]; 31. password = ConfigurationManager.AppSettings["PASSWORD"]; 32. authority = ConfigurationManager.AppSettings["SERVER_NAME"]; 33. return true; 34. } 35. } En el archivo Web.config o App.config, especifique los parámetros de la aplicación de la <appSettings> elemento bajo<configuration> . El siguiente ejemplo muestra cómo el <appSettings> elemento podría ser similar. (Tenga en cuenta que especifica los valores de acuerdo con el servidor de informes de SQL Reporting). <appSettings> <add key="SERVER_NAME" value="<INSTANCE_NAME>.report.int.mscds.com" /> <add key="USERNAME" value="<USERNAME>"/> <add key="PASSWORD" value="<PASSWORD>"/> <add key="REPORT_PATH" value="<REPORT_PATH>"/> </appSettings> 8. El siguiente ejemplo muestra cómo utilizar las IReportServerCredentials acceder a los informes de SQL Reporting: using System; using System.Configuration; public partial class Default : System.Web.UI.Page { protected void Page_Init(object sender, EventArgs e) { ReportViewer1.ServerReport.ReportServerUrl = new Uri(String.Format("https://{0}/reportserver", ConfigurationManager.AppSettings["SERVER_NAME"])); ReportViewer1.ServerReport.ReportPath = ConfigurationManager.AppSettings["REPORT_PATH"]; ReportViewer1.ServerReport.ReportServerCredentials = new ReportServerCredentials(); } } Programar reports usando SOAP Management Endpoint La API SOAP de Reporting SQL proporciona varios puntos finales de servicios web para el desarrollo de la funcionalidad de gestión solutions.The informes personalizados se expone a través de los ReportService2005 y ReportService2010 puntos finales.Para la lista de las API de SOAP sin soporte en SQL Reporting, consulte Instrucciones y limitaciones de Windows Azure SQL Reporting . Al acceder al punto final de la gestión de SOAP, utilice el método LogonUser () del punto final para la autenticación con el punto final. A continuación, deberá guardar la cookie de autenticación devuelve la respuesta HTTP e incluirlo en cada solicitud posterior operación. La manera más fácil de hacer esto es crear una nueva instancia de CookieContainer y asignar ese a la propiedad CookieContainer de la clase de proxy antes de llamar a LogonUser (). Para generar la clase de proxy 1. En el navegador, ir a la ruta para el punto final. Por ejemplo: https:// <nombre_instancia> .report.int.mscds.com/ReportServer/reportservice2010.asmx 2. Si se le solicitan credenciales, escriba su nombre de usuario y una contraseña de SQL Reporting y haga clic en Iniciar sesión. Un archivo WSDL se mostrará en el navegador. 3. Abra el símbolo del sistema de Visual Studio y ejecute el comando wsdl.exe para generar la clase proxy. Por ejemplo: wsdl / idioma: CS / n: "ReportServices2010" <WSDL_FILE_PATH> También puede especificar el archivo (o directorio) para guardar el código proxy generado, especificando el parámetro como / o [ut]: nombre de archivo o directorio ' . Si no, el archivo de proxy se crea en el directorio por defecto desde la que está llamando a la wsdl.exe. Para abrir Visual Studio Command Prompt (2010) ventana, haga clic en Inicio , seleccione Todos los programas , elija Microsoft Visual Studio 2010 , elija Visual Studio Tools y, a continuación, haga clic en Símbolo del sistema de Visual Studio (2010) y seleccione Ejecutar como administrador. Si aparece el cuadro de diálogo de Control de cuentas de usuario, haga clic en Continuar . Para obtener más información y la sintaxis para la herramienta WSDL.exe, vea Herramienta Lenguaje de descripción Servicios Web (Wsdl.exe) . 4. En Visual Studio, agregue el archivo cs generado. Para su proyecto. Para autenticar y autorizar con el extremo de administración El código siguiente muestra cómo autenticar y autorizar con el punto final de gestión ReportingServices2010 y realizar la ReportingService2010.ListChildren () operación. Tenga en cuenta que la propiedad CookieContainer se establece una nueva instancia de la clase CookieContainer antes el método LogonUser () se ejecuta. Esto asegura que la cookie de autenticación devuelto por la respuesta web de LogonUser () se guarda y se utiliza en llamadas a servicios web más tarde. ReportingService2010 rs = new ReportingService2010(); rs.Url = String.Format("https://{0}:443/ReportServer/ ReportService2010.asmx", ConfigurationManager.AppSettings["SERVER_NAME"]); rs.CookieContainer = new CookieContainer(); rs.LogonUser(ConfigurationManager.AppSettings["USERNAME"], ConfigurationManager.AppSettings["PASSWORD"], ConfigurationManager.AppSettings["SERVER_NAME"]); CatalogItem[] items = rs.ListChildren("/", true); A continuación, en el archivo Web.config o App.config, especifique los parámetros de la aplicación de la <appSettings>elemento. El siguiente ejemplo muestra cómo el <appSettings> elemento podría ser similar. (Tenga en cuenta que especifica los valores de acuerdo con el servidor de informes de SQL Reporting). <appSettings> <add key="SERVER_NAME" value="<INSTANCE_NAME>.report.int.mscds.com" /> <add key="USERNAME" value="<USERNAME>"/> <add key="PASSWORD" value="<PASSWORD>"/> </appSettings> Próximos pasos Ahora que está familiarizado con SQL Reporting y cómo integrar los informes recibidos por SQL Reporting en sus aplicaciones, así como el desarrollo de herramientas de gestión de los servidores de informes de SQL Reporting. Ahora se puede pasar al siguiente paso, aprendiendo más acerca de la API de SOAP disponibles en SQL Reporting. Consulte los siguientes temas: Guía de introducción para desarrolladores de aplicaciones (Windows Azure SQL Reporting) Usar la API SOAP en una aplicación para Windows Uso de la API SOAP en una aplicación Web