Поделиться через


Занятие 1. Создание проекта Visual Studio «RDL-схема»

В этом учебнике будет создано простое приложение командной строки. Предполагается, что разработка ведется в среде Microsoft Visual Studio 2010.

ПримечаниеПримечание

Чтобы обращаться к веб-службе сервера отчетов, работающей на сервере SQL Server Express с дополнительными службами, необходимо добавить «_SQLExpress» к пути «ReportServer». Например:

http://myserver/reportserver_sqlexpress/reportservice2010.asmx"

Создание учетной записи-посредника веб-службы

  1. Выберите Пуск, Все программы, Microsoft Visual Studio 2010, а затем Средства Visual Studio и Командная строка Visual Studio 2010.

  2. Если используется C#, в окне командной строки выполните следующую команду:

    wsdl /language:CS /n:"ReportService2010" http://<Server Name>/reportserver/reportservice2010.asmx?wsdl
    

    Если используется Visual Basic, выполните следующую команду:

    wsdl /language:VB /n:"ReportService2010" http://<Server Name>/reportserver/reportservice2010.asmx?wsdl
    

    Команда создаст файл с расширением CS или VB. Этот файл следует добавить к приложению.

Создание приложения командной строки

  1. В меню Файл выберите Создать, а затем Проект, чтобы открыть диалоговое окно Новый проект.

  2. В панели слева в разделе Установленные шаблоны щелкните узел Visual Basic или Visual C# и выберите категорию типов проекта из раскрывшегося списка.

  3. Выберите тип проекта Консольное приложение.

  4. В поле Name введите имя проекта. Введите имя SampleRDLSchema.

  5. В поле Расположение введите путь, по которому будет сохранен проект, или нажмите кнопку Обзор, чтобы перейти в эту папку.

  6. Нажмите кнопку ОК. . В обозревателе решений появится свернутое представление проекта.

  7. В меню Проект выберите пункт Добавить существующий элемент.

  8. Перейдите в папку, где находится созданный файл CS или VB, выберите файл и нажмите кнопку Добавить.

    Также для обеспечения работоспособности веб-ссылки необходимо добавить ссылку на пространство имен System.Web.Services.

  9. В меню «Проект» выберите пункт Добавить ссылку.

    В диалоговом окне Добавить ссылку на вкладке .NET выберите System.Web.Services и нажмите кнопку ОК.

    Дополнительные сведения о том, как выполнить подключение к веб-службе сервера отчетов, см. в разделе Построение приложений с помощью веб-службы и платформы .NET Framework.

  10. Раскройте узел проекта в обозревателе решений. К проекту будет добавлен файл кода с именем по умолчанию Program.cs (Module1.vb для Visual Basic).

  11. Откройте файл Program.cs (Module1.vb для Visual Basic) и замените код следующим.

    Следующий код обеспечивает заглушки методов, которые будут использоваться для выполнения функций загрузки, обновления и сохранения.

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Text;
    using System.Xml;
    using System.Xml.Serialization;
    using ReportService2010;
    
    
    namespace SampleRDLSchema
    {
        class ReportUpdater
        {
            ReportingService2010 _reportService;
    
            static void Main(string[] args)
            {
                ReportUpdater reportUpdater = new ReportUpdater();
                reportUpdater.UpdateReport();
            }
    
            private void UpdateReport()
            {
                try
                {
                    // Set up the Report Service connection
                    _reportService = new ReportingService2010();
                    _reportService.Credentials =
                        System.Net.CredentialCache.DefaultCredentials;
                    _reportService.Url =
                       "http://<Server Name>/reportserver/" +
                                       "reportservice2010.asmx";
    
                    // Call the methods to update a report definition
                    LoadReportDefinition();
                    UpdateReportDefinition();
                    PublishReportDefinition();
                }
                catch (Exception ex)
                {
                    System.Console.WriteLine(ex.Message);
                }
            }
    
            private void LoadReportDefinition()
            {
                //Lesson 3: Load a report definition from the report 
                //          catalog
            }
    
            private void UpdateReportDefinition()
            {
                //Lesson 4: Update the report definition using the  
                //          classes generated from the RDL Schema
            }
    
            private void PublishReportDefinition()
            {
                //Lesson 5: Publish the updated report definition back 
                //          to the report catalog
            }
        }
    }
    
    Imports System
    Imports System.Collections.Generic
    Imports System.IO
    Imports System.Text
    Imports System.Xml
    Imports System.Xml.Serialization
    Imports ReportService2010
    
    Namespace SampleRDLSchema
    
        Module ReportUpdater
    
            Private m_reportService As ReportingService2010
    
            Public Sub Main(ByVal args As String())
    
                Try
                    'Set up the Report Service connection
                    m_reportService = New ReportingService2010
                    m_reportService.Credentials = _
                        System.Net.CredentialCache.DefaultCredentials
                    m_reportService.Url = _
                        "http:// <Server Name>/reportserver/" & _
                               "reportservice2010.asmx"
    
                    'Call the methods to update a report definition
                    LoadReportDefinition()
                    UpdateReportDefinition()
                    PublishReportDefinition()
                Catch ex As Exception
                    System.Console.WriteLine(ex.Message)
                End Try
    
            End Sub
    
            Private Sub LoadReportDefinition()
                'Lesson 3: Load a report definition from the report 
                '          catalog
            End Sub
    
            Private Sub UpdateReportDefinition()
                'Lesson 4: Update the report definition using the 
                '          classes generated from the RDL Schema
            End Sub
    
            Private Sub PublishReportDefinition()
                'Lesson 5: Publish the updated report definition back 
                '          to the report catalog
            End Sub
    
        End Module
    
    End Namespace 
    

Следующее занятие

На следующем занятии предстоит использовать программу определения XML-схемы (Xsd.exe) для формирования классов из RDL-схемы и включения их в проект. См. раздел Занятие 2. Формирование классов из RDL-схемы с помощью инструмента xsd.

См. также

Задания

Обновление отчетов с помощью классов, созданных из схемы языка определения отчетов (учебник по службам SSRS)

Основные понятия

Язык определения отчетов (SSRS)