共用方式為


CreateReport 方法

將新的報表加入報表伺服器資料庫中。

命名空間:  ReportService2005
組件:  ReportService2005 (在 ReportService2005.dll 中)

語法

'宣告
<SoapHeaderAttribute("BatchHeaderValue")> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateReport", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",  _
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
Public Function CreateReport ( _
    Report As String, _
    Parent As String, _
    Overwrite As Boolean, _
    Definition As Byte(), _
    Properties As Property() _
) As Warning()
'用途
Dim instance As ReportingService2005
Dim Report As String
Dim Parent As String
Dim Overwrite As Boolean
Dim Definition As Byte()
Dim Properties As Property()
Dim returnValue As Warning()

returnValue = instance.CreateReport(Report, _
    Parent, Overwrite, Definition, Properties)
[SoapHeaderAttribute("BatchHeaderValue")]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateReport", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
public Warning[] CreateReport(
    string Report,
    string Parent,
    bool Overwrite,
    byte[] Definition,
    Property[] Properties
)
[SoapHeaderAttribute(L"BatchHeaderValue")]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateReport", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
public:
array<Warning^>^ CreateReport(
    String^ Report, 
    String^ Parent, 
    bool Overwrite, 
    array<unsigned char>^ Definition, 
    array<Property^>^ Properties
)
[<SoapHeaderAttribute("BatchHeaderValue")>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateReport", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
member CreateReport : 
        Report:string * 
        Parent:string * 
        Overwrite:bool * 
        Definition:byte[] * 
        Properties:Property[] -> Warning[] 
public function CreateReport(
    Report : String, 
    Parent : String, 
    Overwrite : boolean, 
    Definition : byte[], 
    Properties : Property[]
) : Warning[]

參數

  • Overwrite
    型別:System. . :: . .Boolean
    Boolean 運算式,指出是否應該覆寫在指定位置中名稱相同的現有報表。

傳回值

型別:array<ReportService2005. . :: . .Warning> [] () [] []
Warning 物件的陣列,描述在驗證報表定義時所發生的任何警告。

備註

The table below shows header and permissions information on this operation.

SOAP Headers

(In) BatchHeaderValue

(Out) ServerInfoHeaderValue

Required Permissions

Creating a new report: CreateReport on Parent AND ReadProperties on the report's data sources AND ReadProperties on the report's datasets

Updating an existing report: UpdateReportDefinition on Report AND UpdateProperties on Report (if Properties contains properties) AND UpdateProperties on the report's data sources AND UpdateProperties on the report's datasets

The length of the Parent parameter cannot exceed 260 characters; otherwise, a SOAP exception is thrown with the error code rsItemLengthExceeded.

The Parent parameter cannot be null or empty or contain the following reserved characters: : ? ; @ & = + $ , \ * > < | . ". You can use the forward slash character (/) to separate items in the full path name of the folder, but you cannot use it at the end of the folder name.

If errors occur, the report is not created.

Adding a report to the report server database modifies the ModifiedBy and ModifiedDate properties of the parent folder.

範例

To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see Compiling and Running Code Examples. The following code example publishes a report in the form of a Report Definition Language (RDL) file to a report server database.

Imports System
Imports System.IO
Imports System.Web.Services.Protocols

Class Sample
   Public Shared Sub Main()
      Dim rs As New ReportingService2005()
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials

      Dim definition As [Byte]() = Nothing
      Dim warnings As Warning() = Nothing
      Dim name As String = "MyReport"

      Try
         Dim stream As FileStream = File.OpenRead("MyReport.rdl")
         definition = New [Byte](stream.Length - 1) {}
         stream.Read(definition, 0, CInt(stream.Length - 1))
         stream.Close()

      Catch e As IOException
         Console.WriteLine(e.Message)
      End Try

      Try
         warnings = rs.CreateReport(name, "/Samples", False, definition, Nothing)

         If Not (warnings Is Nothing) Then
            Dim warning As Warning
            For Each warning In  warnings
               Console.WriteLine(warning.Message)
            Next warning

         Else
            Console.WriteLine("Report: {0} created successfully with no warnings", name)
         End If

      Catch e As SoapException
         Console.WriteLine(e.Detail.InnerXml.ToString())
      End Try
   End Sub 'Main 
End Class 'Sample
using System;
using System.IO;
using System.Web.Services.Protocols;

class Sample
{
   public static void Main()
   {
      ReportingService2005 rs = new ReportingService2005();
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

      Byte[] definition = null;
      Warning[] warnings = null;
      string name = "MyReport";

      try
      {
         FileStream stream = File.OpenRead("MyReport.rdl");
         definition = new Byte[stream.Length];
         stream.Read(definition, 0, (int) stream.Length);
         stream.Close();
      }

      catch(IOException e)
      {
         Console.WriteLine(e.Message);
      }

      try
      {
         warnings = rs.CreateReport(name, "/Samples", false, definition, null);

         if (warnings != null)
         {
            foreach (Warning warning in warnings)
            {
               Console.WriteLine(warning.Message);
            }
         }

         else
            Console.WriteLine("Report: {0} created successfully with no warnings", name);
      }

      catch (SoapException e)
      {
         Console.WriteLine(e.Detail.InnerXml.ToString());
      }

   }
}