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


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

Добавления: 17 июля 2006 г.

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

Aa337503.note(ru-ru,SQL.90).gifПримечание.
Во время доступа к веб-службе сервера отчетов, запущенной на сервере SQL Server Express with Advanced Services, к пути «ReportServer» необходимо добавить выражение «$SQLExpress». Например: http://myserver/reportserver$sqlexpress/reportservice2005.asmx"

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

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

  2. Раскройте папку Visual Basic Projects или Visual C# Projects.

  3. Щелкните значок Console Application.

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

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

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

  7. Далее необходимо добавить веб-ссылку на конечную точку ReportService2005. В меню Проект щелкните Добавить веб-ссылку и введите URL-адрес сервера отчетов или перейдите к нему с помощью параметров окна обзора.

  8. Выберите конечную точку ReportService2005, введите ReportService2005 в качестве Имени веб-ссылки и нажмите кнопку Добавить ссылку.

    Дополнительные сведения о том, как выполнить подключение к веб-службе сервера отчетов, см. в разделе Учебник. Доступ к веб-службе сервера отчетов на языке Visual Basic или Visual C#.

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

  10. Откройте файл 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 SampleRDLSchema.ReportService2005;
    
    namespace SampleRDLSchema
    {
        class ReportUpdater
        {
            ReportingService2005    _reportService;
    
            static void Main(string[] args)
            {
                ReportUpdater reportUpdater = new ReportUpdater();
                reportUpdater.UpdateReport();
            }
    
            private void UpdateReport()
            {
                try
                {
                    // Set up the Report Service connection
                    _reportService = new ReportingService2005();
                    _reportService.Credentials =
                        System.Net.CredentialCache.DefaultCredentials;
                    _reportService.Url =
                       "http://myserver/reportserver/" +
                                       "reportservice2005.asmx";
    
                    // Call the methods to update a report definition
                    LoadReportDefinition();
                    UpdateReportDefinition();
                    PublishReportDefinition();
                }
                catch (Exception ex)
                {
                    System.Console.WriteLine(ex.Message);
                }
            }
    
            private void LoadReportDefinition()
            {
                //Lesson 2: Load a report definition from the report 
                //          catalog
            }
    
            private void UpdateReportDefinition()
            {
                //Lesson 3: Update the report definition using the  
                //          classes generated from the RDL Schema
            }
    
            private void PublishReportDefinition()
            {
                //Lesson 4: 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 SampleRDLSchema.ReportService2005
    
    Namespace SampleRDLSchema
    
        Module ReportUpdater
    
            Private m_reportService As ReportingService2005
    
            Public Sub Main(ByVal args As String())
    
                Try
                    'Set up the Report Service connection
                    m_reportService = New ReportingService2005
                    m_reportService.Credentials = _
                        System.Net.CredentialCache.DefaultCredentials
                    m_reportService.Url = _
                        "http://myserver/reportserver/" & _
                               "reportservice2005.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 2: Load a report definition from the report 
                '          catalog
            End Sub
    
            Private Sub UpdateReportDefinition()
                'Lesson 3: Update the report definition using the 
                '          classes generated from the RDL Schema
            End Sub
    
            Private Sub PublishReportDefinition()
                'Lesson 4: Publish the updated report definition back 
                '          to the report catalog
            End Sub
    
        End Module
    
    End Namespace 
    

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

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

См. также

Задачи

Учебник. Обновление отчетов с помощью классов, созданных из RDL-схемы

Другие ресурсы

Report Definition Language

Справка и поддержка

Получение помощи по SQL Server 2005