第 1 课:创建 RDL 架构 Visual Studio 项目
针对本教程,您将创建一个简单控制台应用程序。本教程假定您是在 MicrosoftVisual Studio 2005 环境中进行开发的。
注意 |
---|
访问在具有高级服务的 SQL Server Express 上运行的报表服务器 Web 服务时,必须将“$SQLExpress”追加到“ReportServer”路径。例如: http://myserver/reportserver$sqlexpress/reportservice2005.asmx" |
创建控制台应用程序
在**“文件”菜单中,指向“新建”,再单击“项目”以打开“新建项目”**对话框。
展开**“Visual Basic 项目”或“Visual C# 项目”**文件夹。
单击**“控制台应用程序”**图标。
在**“名称”**框中,输入您项目的名称。键入名称 SampleRDLSchema。
在**“位置”框中,键入保存项目的路径,或单击“浏览”**导航到所需文件夹。
单击“确定”。解决方案资源管理器中将显示您项目的折叠视图。
接着,需要向 ReportService2005 端点添加 Web 引用。在**“项目”菜单中单击“添加 Web 引用”**,然后键入报表服务器的 URL 路径,或使用浏览窗口中的选项导航到报表服务器。
选择 ReportService2005 端点,键入 ReportService2005 作为**“Web 引用名”,然后单击“添加引用”**按钮。
有关如何连接到报表服务器 Web 服务的详细信息,请参阅教程:使用 Visual Basic 或 Visual C# 访问报表服务器 Web 服务。
在解决方案资源管理器中,展开该项目节点。您将看到默认名称为 Program.cs(对于 Visual Basic,为 Module1.vb)的代码文件已添加到您的项目中。
打开 Program.cs(对于 Visual Basic,为 Module1.vb)文件,并使用以下内容替换该代码:
以下代码提供了将用于实现加载、更新和保存功能的方法存根 (Stub)。
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