Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве вы создадите простое консольное приложение. В этом руководстве предполагается, что вы разрабатываете в Microsoft Visual Studio 2010.
Замечание
При доступе к веб-службе сервера отчетов, работающей в SQL Server Express с расширенными службами, необходимо добавить "_SQLExpress" в путь "ReportServer". Рассмотрим пример.
http://myserver/reportserver_sqlexpress/reportservice2010.asmx"
Создать прокси-сервер веб-службы
В меню "Пуск " выберите "Все программы", а затем Microsoft Visual Studio Tools, а затем командную строку Visual Studio 2010.
В окне командной строки выполните следующую команду, если вы используете 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. Этот файл будет добавлен в приложение.
Создание консольного приложения
В меню "Файл" наведите указатель мыши на "Создать", а затем щелкните "Проект ", чтобы открыть диалоговое окно "Новый проект ".
В области слева в разделе "Установленные шаблоны" щелкните visual Basic или узел Visual C# и выберите категорию типов проектов из развернутого списка.
Выберите тип проекта консольного приложения .
В поле Name введите имя проекта. Введите имя
SampleRDLSchema.В поле "Расположение " введите путь, в котором нужно сохранить проект, или нажмите кнопку "Обзор ", чтобы перейти к папке.
Нажмите кнопку ОК. Свернутое представление вашего проекта отображается в проводнике решений.
В меню Проект щелкните Добавить существующий элемент.
Перейдите к расположению созданного .cs или .vb файла, а затем выберите файл и нажмите кнопку "Добавить".
Вам также потребуется добавить ссылку на Services пространство имен для работы веб-ссылки.
В меню "Проект" нажмите кнопку "Добавить ссылку".
В диалоговом окне "Добавить ссылку" на вкладке .NET выберите System.Web.Services и нажмите кнопку "ОК".
Дополнительные сведения о подключении к веб-службе сервера отчетов см. в статье "Создание приложений с помощью веб-службы и платформы .NET Framework".
В обозревателе решений разверните узел проекта. В проект добавлен файл кода с именем по умолчанию Program.cs (Module1.vb для Visual Basic).
Откройте файл Program.cs (Module1.vb для Visual Basic) и замените код следующим кодом:
В следующем коде приведены заготовки методов, которые мы будем использовать для реализации функций Load, Update и Save.
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.
См. также
Обновление отчетов с помощью классов, созданных из схемы RDL (руководство по SSRS)
Язык определения отчетов (SSRS)