次の方法で共有


ReportingService2005.CreateRole メソッド

新しいロールをレポート サーバー データベースに追加します。

名前空間:  ReportService2005
アセンブリ:  ReportService2005 (ReportService2005.dll)

構文

'宣言
Public Sub CreateRole ( _
    Name As String, _
    Description As String, _
    Tasks As Task() _
)
'使用
Dim instance As ReportingService2005 
Dim Name As String 
Dim Description As String 
Dim Tasks As Task()

instance.CreateRole(Name, Description, _
    Tasks)
public void CreateRole(
    string Name,
    string Description,
    Task[] Tasks
)
public:
void CreateRole(
    String^ Name, 
    String^ Description, 
    array<Task^>^ Tasks
)
member CreateRole : 
        Name:string * 
        Description:string * 
        Tasks:Task[] -> unit
public function CreateRole(
    Name : String, 
    Description : String, 
    Tasks : Task[]
)

パラメーター

  • Name
    型: System.String
    新しいロールの名前です。 このパラメーターの値の長さは、1 ~ 260 文字までです。
  • Description
    型: System.String
    新しいロールの説明です。 このパラメーターの値の長さは、1 ~ 512 文字までです。
  • Tasks
    型: array<ReportService2005.Task[]
    ロールに設定するタスクを表す Task オブジェクトの配列です。 ロールを作成するために送信されるのは、Task オブジェクトの TaskID プロパティだけです。

説明

次の表に、この操作に関連するヘッダーおよび権限の情報を示します。

SOAP ヘッダー

(In) BatchHeaderValue

(Out) ServerInfoHeaderValue

必要な権限

CreateRoles (システム)

Name パラメーターと Description パラメーターは必須ですが、nullNULL 参照 (Visual Basic では Nothing) (Visual Basic では Nothing) を設定することはできません。 Name の値は一意である必要があります。

ロール内で少なくとも 1 つのタスクを割り当てる必要があります。 単一ロール内でシステムレベルのタスクとアイテムレベルのタスクを組み合わせることはできません。 タスクの詳細については、「タスクと権限」を参照してください。

使用例

このコード例をコンパイルするには、Reporting Services の WSDL を参照し、特定の名前空間をインポートする必要があります。 詳細については、「Compiling and Running Code Examples」を参照してください。 次のコード例では、CreateRole メソッドを使用して、フォルダーとレポートを表示する権限を持つユーザー ロールを作成します。

Imports System
Imports System.Web.Services.Protocols

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

      Dim name As String = "Report Browser"
      Dim desc As String = "View folders and reports."
      Dim setTasks(2) As Task
      setTasks(0) = New Task()
      setTasks(1) = New Task()
      setTasks(2) = New Task()

      Try
         Dim returnedTasks As Task() = rs.ListTasks()

         Dim t As Task
         For Each t In  returnedTasks
            If t.Name = "View reports" Then
               setTasks(0) = t

            Else
               If t.Name = "View folders" Then
                  setTasks(1) = t

               Else
                  If t.Name = "View resources" Then
                     setTasks(2) = t
                  End If
               End If
            End If 
         Next t
         rs.CreateRole(name, desc, setTasks)

      Catch e As SoapException
         Console.WriteLine(e.Detail.InnerXml.ToString())
      End Try
   End Sub 'Main
End Class 'Sample
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() );
      }
   }
}

関連項目

参照

ReportingService2005 クラス

ReportService2005 名前空間