Udostępnij za pośrednictwem


Metoda ReportingService2005.CreateReport

Dodaje nowy raport baza danych serwera raportów.

Przestrzeń nazw:  ReportService2005
Zestaw:  ReportService2005 (w ReportService2005.dll)

Składnia

'Deklaracja
<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()
'Użycie
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[]

Parametry

  • Parent
    Typ: System.String
    Pełni kwalifikowany adres URL folderu nadrzędnego, do którego chcesz dodać do raportu.
  • Overwrite
    Typ: System.Boolean
    A wartość logiczna wyrażenie, która wskazuje, czy można zastąpić istniejącego raportu o tej samej nazwie w określonej lokalizacji.

Wartość zwracana

Typ: array<ReportService2005.Warning[]
Tablica Warning obiektów, które opisano wszystkie ostrzeżenia, które wystąpiły podczas definicja raportu został sprawdzony.

Uwagi

W poniższej tabela przedstawiono informacje nagłówka i uprawnienia na tej operacji.

Nagłówki SOAP

(W)BatchHeaderValue

(Ruch wychodzący)ServerInfoHeaderValue

Wymagane uprawnienia

Tworzenie nowego raportu: CreateReportna Parent i ReadProperties na źródłach danych raportu i ReadProperties na zestawach danych raportu

Aktualizowanie istniejącego raportu: UpdateReportDefinitionna Report i UpdateProperties na Report (jeśli Properties zawiera właściwości) I UpdateProperties na źródłach danych raportu i UpdateProperties na zestawach danych raportu

Długość Parent parametr nie może przekraczać 260 znaków; w przeciwnym razie SOAP jest wyjątek z kodem błędu rsItemLengthExceeded.

Parent Parametr nie może być null lub puste lub zawierać następujących znaków zarezerwowanych: : ? ; @ & = + $ , \ * > < | . ".Ukośnik (/) można używać do oddzielania elementów pełną nazwę ścieżka folderu, ale nie można go użyć na końcu nazwy folderu.

Jeśli wystąpią błędy, nie zostanie utworzony raport.

Dodawanie raportu do baza danych serwera raportów modyfikuje ModifiedBy i ModifiedDate Właściwości folderu nadrzędnego.

Przykłady

Aby skompilować ten przykład kodu, należy odwołać WSDL usług Reporting i przywozu niektórych obszarów nazw.Aby uzyskać więcej informacji, zobacz temat Compiling and Running Code Examples.Poniższy przykład kodu publikuje sprawozdanie w formie plik Report Definition Language (RDL) do baza danych serwera raportów.

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());
      }

   }
}