Export (0) Print
Expand All

ReportingService2005.CreateRole Method (String, String, Task[])

 

Applies To: SQL Server 2016 Preview

Adds a new role to the report server database.

Namespace:   ReportService2005
Assembly:  ReportService2005 (in ReportService2005.dll)

public void CreateRole(
	string Name,
	string Description,
	Task[] Tasks
)

Parameters

Name
Type: System.String

The name of the new role. The value of this parameter must be between 1 and 260 characters long.

Description
Type: System.String

A description of the new role. The value of this parameter must be between 1 and 512 characters long.

Tasks
Type: ReportService2005.Task[]

An array of Task objects that represents the tasks to set for the role. Only the TaskID property of the Task object is submitted to create a role.

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

SOAP Headers

(In) BatchHeaderValue

(Out) ServerInfoHeaderValue

Required Permissions

CreateRoles (System)

The Name and Description parameters are required and should not be set to null (Nothing in Visual Basic). The value for Name must be unique.

You must assign at least one task to the role. You cannot combine system-level and item-level tasks within a single role. For more information about tasks, see Tasks and Permissions.

Legacy Code Example

To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see . The following code example uses the CreateRole method to create a user role that has permissions to view folders and reports:

using System;
using System.Web.Services.Protocols;

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

      string name = "Report Browser";
      string desc = "View folders and reports.";
      Task[] setTasks = new Task[3];
      setTasks[0] = new Task();
      setTasks[1] = new Task();
      setTasks[2] = new Task();

      try
      {
         Task[] returnedTasks = rs.ListTasks();

         foreach( Task t in returnedTasks )
         {
            if ( t.Name == "View reports" )
            {
               setTasks[0] = t;
            }

            else if ( t.Name == "View folders" )
            {
               setTasks[1] = t;
            }

            else if ( t.Name == "View resources" )
            {
               setTasks[2] = t;
            }
         }

         rs.CreateRole( name, desc, setTasks );
      }

      catch ( SoapException e )
      {
         Console.WriteLine( e.Detail.InnerXml.ToString() );
      }
   }
}
Return to top
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft