Classe MSReportServer_ConfigurationSetting
Rappresenta i parametri di installazione e di runtime di un'istanza del server di report. Tali parametri sono archiviati nel file di configurazione per il server di report.
Per un elenco di tutti i membri di questo tipo, vedere Membri di MSReportServer_ConfigurationSetting.
Sintassi
Public Class MSReportServer_ConfigurationSetting
public class MSReportServer_ConfigurationSetting
Thread safety
Tutti i membri statici pubblici (Condivisi in Microsoft Visual Basic) di questo tipo sono sicuri per le operazioni a thread multipli. Non è invece garantita la sicurezza dei membri dell'istanza.
Esempio
Per eseguire il codice seguente, aggiungere al posto di ogni <nomeserver> il nome del server usato. Aggiornare il percorso in modo che punti al percorso di installazione, se non è l'impostazione predefinita. L'esempio di codice seguente esegue l’iterazione di ogni proprietà nella classe MSReportServer_ConfigurationSetting , stampandone il nome e il relativo valore nella console.
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();
}
}
}
Requisiti
Spazio dei nomi: root\Microsoft\SqlServer\ReportServer\<InstanceName>\v12\Admin
Piattaforma: Windows Server 2003, Datacenter Edition; Windows Server 2003, Enterprise Edition; Windows Server 2003, Standard Edition; Windows Vista; Windows XP Professional Service Pack 2 (SP2) o Service Pack 1 (SP1) o Windows 2000 (tutte le versioni)