CreateReport Method
ReportingService.CreateReport Method
Adds a new report to the report server database.
Public Function CreateReport( _ ByVal Report As String, _ ByVal Parent As String, _ ByVal Overwrite As Boolean, _ ByVal Definition() As Byte, _ ByVal Properties() As [Namespace].Property _ ) As [Namespace].Warning() Member of [Namespace].ReportingService
public [Namespace].Warning[] CreateReport( string Report, string Parent, bool Overwrite, Byte[] Definition, [Namespace].Property[] Properties ); Member of [Namespace].ReportingService
Parameters
- Report
- The name of the new report.
- Parent
- The full path name of the parent folder to which to add the report.
- Overwrite
- A Boolean expression that indicates whether an existing report with the same name in the location specified should be overwritten.
- Definition
- The report definition to publish to the report server.
- Properties
- An array of Property[] objects that contains the property names and values to set for the report.
Return Value
An array of Warning[] objects that describes any warnings that occurred when the report definition was validated.
Permissions
| Operation | Description |
|---|---|
| Create Report | Required for creating a report within the specified parent folder. |
Remarks
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.
Security Note This method may pass sensitive data, including user credentials, over a network. When possible, use SSL encryption when making Web service calls with this method. Depending on the SecureConnectionLevel setting for the report server, you may be required to use SSL when invoking this method. You can use the ListSecureMethods method to retrieve a list of methods that currently require a secure connection. For more information about the SecureConnectionLevel setting, see Using Secure Web Service Methods.
Example
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 ReportingService()
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) {}
stream.Read(definition, 0, CInt(stream.Length))
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()
{
ReportingService rs = new ReportingService();
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());
}
}
}