MSReportServer_ConfigurationSetting-Klasse
Stellt die Installationsparameter und die Laufzeitparameter einer Berichtsserverinstanz dar. Diese Parameter werden in der Konfigurationsdatei für den Berichtsserver gespeichert.
Eine Liste aller Member dieses Typs finden Sie unter MSReportServer_ConfigurationSetting-Member.
Syntax
Public Class MSReportServer_ConfigurationSetting
public class MSReportServer_ConfigurationSetting
Threadsicherheit
Alle öffentlichen statischen Member dieses Typs (Shared in Visual Basic) sind für Vorgänge mit mehreren Threads sicher. Für Instanzmember kann nicht gewährleistet werden, dass sie für Threads sicher sind.
Beispiel
Um den folgenden Code auszuführen, fügen Sie den Servernamen anstelle jedes <servername> hinzu. Aktualisieren Sie den Pfad, sodass er auf das Installationsverzeichnis zeigt, wenn dies nicht die Standardeinstellung ist. Im folgenden Codebeispiel wird jede Eigenschaft in der MSReportServer_ConfigurationSetting-Klasse durchlaufen, wobei der Name jeder Eigenschaft und deren Wert in die Konsole geschrieben werden.
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();
}
}
}
Voraussetzungen
Namespace: root\Microsoft\SqlServer\ReportServer\RS_<EncodedInstanceName>\v10\Admin
Plattform: Windows Server 2003 Datacenter Edition; Windows Server 2003 Enterprise Edition; Windows Server 2003 Standard Edition; Windows Vista; Windows XP Professional mit Service Pack 2 (SP2) oder Service Pack 1 (SP1); oder Windows 2000 (alle Versionen)