次の方法で共有


ReportingService2005.CreateRole Method

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

名前空間: Microsoft.WSSUX.ReportingServicesWebService.RSManagementService2005
アセンブリ: ReportService2005 (reportingservice2005.dll 内)

構文

'宣言
<SoapHeaderAttribute("BatchHeaderValue")> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", 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 Sub CreateRole ( _
    Name As String, _
    Description As String, _
    Tasks As Task() _
)
[SoapHeaderAttribute("BatchHeaderValue")] 
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", 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 void CreateRole (
    string Name,
    string Description,
    Task[] Tasks
)
[SoapHeaderAttribute(L"BatchHeaderValue")] 
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", 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:
void CreateRole (
    String^ Name, 
    String^ Description, 
    array<Task^>^ Tasks
)
/** @attribute SoapHeaderAttribute("BatchHeaderValue") */ 
/** @attribute SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", 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) */ 
/** @attribute SoapHeaderAttribute("ServerInfoHeaderValue", Direction=SoapHeaderDirection.Out) */ 
public void CreateRole (
    String Name, 
    String Description, 
    Task[] Tasks
)
SoapHeaderAttribute("BatchHeaderValue") 
SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", 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 CreateRole (
    Name : String, 
    Description : String, 
    Tasks : Task[]
)

パラメータ

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

解説

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

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

使用例

このコード例をコンパイルするには、Reporting Services の WSDL を参照し、特定の名前空間をインポートする必要があります。詳細については、「コード例のコンパイルと実行」を参照してください。次のコード例では、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() );
      }
   }
}

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

ReportingService2005 Class
ReportingService2005 Members
Microsoft.WSSUX.ReportingServicesWebService.RSManagementService2005 Namespace