Поделиться через


Класс MSReportServer_ConfigurationSetting

Представляет установочные параметры и параметры времени выполнения для экземпляра сервера отчетов. Эти параметры хранятся в файле конфигурации для сервера отчетов.

Список всех элементов этого типа см. в разделе Элементы MSReportServer_ConfigurationSetting.

Синтаксис

Public Class MSReportServer_ConfigurationSetting
public class MSReportServer_ConfigurationSetting

Безопасность потока

Все открытые статические элементы этого типа (Shared в Visual Basic) можно использовать в многопотоковых операциях. Для элементов экземпляра потокобезопасность не гарантируется.

Пример

Чтобы запустить следующий код, добавьте имя сервера на место каждого местозаполнителя <имя_сервера>. Обновите путь, чтобы он указывал на расположение установки, если это не расположение по умолчанию. Приведенный ниже пример кода проходит по всем свойствам класса MSReportServer_ConfigurationSetting и выдает на консоль имя каждого свойства и его значение.

Imports System
Imports System.Management
Imports System.IO

Module Module1
    Sub Main()
        Const machineWmiNamespace As String = "\\<servername>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10"
        Const wmiNamespace As String = "\\<servername>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10:MSReportServer_ConfigurationSetting"
        Dim connOptions As New ConnectionOptions()
        connOptions.Authentication = AuthenticationLevel.Default
        Dim getOptions As New ObjectGetOptions()
        getOptions.Timeout = New System.TimeSpan(0, 0, 30)
        Dim machineScope As New ManagementScope(machineWmiNamespace, connOptions)
        machineScope.Connect()
        Dim scope As ManagementScope = Nothing
        scope = New ManagementScope(wmiNamespace, connOptions)
        scope.Connect()
        Dim path As New ManagementPath("MSReportServer_Instance")
        Dim serverClass As New ManagementClass(scope, path, getOptions)
        serverClass.Get()
        Dim instances As ManagementObjectCollection = serverClass.GetInstances()
        For Each instance As ManagementObject In instances
            Console.WriteLine("\n-----\nSERVER STATUS:\n")
            Dim serverStatusObject As ManagementBaseObject = instance.InvokeMethod("GetServerStatus", Nothing, Nothing)
            Dim t As Integer = serverStatusObject("Length")
            Dim namesArray As Array = serverStatusObject("Names")
            Dim descArray As Array = serverStatusObject("Descriptions")
            Dim statusArray As Array = serverStatusObject("Statuses")
            Dim severityArray As Array = serverStatusObject("Severities")
            Dim i As Integer
            For i = 0 To t - 1
                Console.WriteLine("{0} - {1}", namesArray.GetValue(i), descArray.GetValue(i))
                Console.WriteLine("Value: {0}, Severity: {1}", statusArray.GetValue(i), severityArray.GetValue(i))
            Next i
        Next instance
    End Sub
End Module
using System;
using System.Management;
using System.IO;
[assembly: CLSCompliant(true)]
class Class1
{
   [STAThread]
   static void Main(string[] args)
   {
      const string machineWmiNamespace = @"\\<servername>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10";
        const string wmiNamespace = @"\\<servername>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10:MSReportServer_ConfigurationSetting";
      ConnectionOptions connOptions = new ConnectionOptions();
      connOptions.Authentication = AuthenticationLevel.Default;
      ObjectGetOptions getOptions = new ObjectGetOptions();
      getOptions.Timeout = new System.TimeSpan(0,0,30);
      ManagementScope machineScope = new ManagementScope(machineWmiNamespace, connOptions);
      machineScope.Connect();
      ManagementScope scope = null;
      scope = new ManagementScope(wmiNamespace, connOptions);
      scope.Connect();
      ManagementPath path = new ManagementPath("MSReportServer_Instance");
      ManagementClass serverClass = new ManagementClass(scope, path, getOptions);
      serverClass.Get();
      ManagementObjectCollection instances = serverClass.GetInstances();
      foreach (ManagementObject instance in instances)
      {

         Console.WriteLine("\n-----\nSERVER STATUS:\n");
         ManagementBaseObject serverStatusObject = instance.InvokeMethod("GetServerStatus", null, null);
         int t = (int)serverStatusObject["Length"];
         Array namesArray = (Array)serverStatusObject["Names"];
         Array descArray = (Array)serverStatusObject["Descriptions"];
         Array statusArray = (Array)serverStatusObject["Statuses"];
         Array severityArray = (Array)serverStatusObject["Severities"];
         for (int i = 0; i < t; i++)
         {
            Console.WriteLine("{0} - {1}",
               (string)namesArray.GetValue(i),(string)descArray.GetValue(i));
            Console.WriteLine("Value: {0}, Severity: {1}",
               (string)statusArray.GetValue(i), (int)severityArray.GetValue(i));
         }
         Console.ReadKey();
      }
   }
}

Системные требования

Пространство имен: root\Microsoft\SqlServer\ReportServer\RS_<закодированное_имя_экземпляра>\v10\Admin

Платформа: Windows Server 2003 Datacenter Edition; Windows Server 2003 Enterprise Edition; Windows Server 2003 Standard Edition; Windows Vista; Windows XP Professional с пакетом обновления 2 (SP2) или 1 (SP1) или Windows 2000 (все версии)

См. также

Справочник