Занятие 1. Создание проекта Visual Studio «RDL-схема»
Добавления: 17 июля 2006 г.
В этом учебнике будет создано простое приложение командной строки. Предполагается, что для разработки используется среда Microsoft Visual Studio 2005.
Примечание. |
---|
Во время доступа к веб-службе сервера отчетов, запущенной на сервере SQL Server Express with Advanced Services, к пути «ReportServer» необходимо добавить выражение «$SQLExpress». Например:
http://myserver/reportserver$sqlexpress/reportservice2005.asmx" |
Создание приложения командной строки
В меню Файл выберите Создать и выберите пункт Проект, чтобы открыть диалоговое окно Новый проект.
Раскройте папку Visual Basic Projects или Visual C# Projects.
Щелкните значок Console Application.
В поле Имя введите имя проекта. Введите имя.SampleRDLSchema.
В поле Расположение введите путь, по которому будет сохранен проект, или нажмите кнопку Обзор, чтобы перейти в эту папку.
Нажмите кнопку ОК. Свернутое представление проекта появляется в обозревателе решений.
Далее необходимо добавить веб-ссылку на конечную точку ReportService2005. В меню Проект щелкните Добавить веб-ссылку и введите URL-адрес сервера отчетов или перейдите к нему с помощью параметров окна обзора.
Выберите конечную точку ReportService2005, введите ReportService2005 в качестве Имени веб-ссылки и нажмите кнопку Добавить ссылку.
Дополнительные сведения о том, как выполнить подключение к веб-службе сервера отчетов, см. в разделе Учебник. Доступ к веб-службе сервера отчетов на языке Visual Basic или Visual C#.
Раскройте узел проекта в обозревателе решений. К проекту будет добавлен файл кода с именем по умолчанию Program.cs (Module1.vb для Visual Basic).
Откройте файл 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-схемы