Raporlama Hizmetleri WMI sağlayıcısı
Raporlama Hizmetleri WMI sağlayıcı'nın kuruluş ortamında denetim ve yönetim bilgilerine erişmek için standart Windows Yönetim Araçları (WMI) teknolojisi üzerine kurulmuştur.WMI sağlayıcı için Reporting Services xml yapılandırma öğeleri için rapor sunucusu eşleme bir örnek sağlayıcı hizmet verdiği bir küme eklemek için arama yöntemleri dahil, sınıfların, kaldırma veya değiştirme raporu sunucu yapılandırma bilgileri.Sınıfları hakkında daha fazla bilgi için bkz: Raporlama Hizmetleri WMI sağlayıcısı kitaplığı.
WMI sağlayıcısı genel bakış
WMI sınıfları eklenir Reporting Services rapor sunucusu ve Rapor Yöneticisi, Report Server Web çalıştıran ağ makineleri keşfetmek için bir yol sağlamak için yerel ve uzak bilgisayarlar üzerindeki kontrol bileşenleri izin vermek için hizmetve bir rapor sunucusu örneğine bir ölçek-giden dağıtım. etkinleştirmek içinSistem yöneticileri ve veritabanı yöneticileri Bu sınıflar, yükleme tamamlandıktan sonra rapor sunucusu ve Rapor Yöneticisi yapılandırmaları için değişiklik veya yerel ya da uzak sunucu yönetim görevlerini gerçekleştirmek için kullanabilirsiniz.Görevleri arasında rapor sunucusu ve rapor sunucusu veritabanını veritabanı bağlantı kimlik bilgileri bilgilerini değiştirme, rapor sunucusu veritabanı adı değiştirme ve yükleme tanımlar url değiştirme dahil yol Rapor Yöneticisi veya rapor sunucusu örneğinin.
Bu işlevleri desteklemek üzere yüklenen sınıfları aşağıdaki gibidir:
The MSReportServer_Instance sınıfı provides basic information required for a client to connect to an installed report server.
The MSReportServer_ConfigurationSetting sınıfı represents the installation and runtime parameters of a report server instance.Bu parametreler RSReportServer.config içinde depolanan yapılandırma dosyası için rapor sunucusu.
The namespace used to obtain information about Reporting Services in the code samples shown in this topic is the System.Management namespace, found in the Microsoft .NET Framework.The System.Management namespace provides a set of managed code classes through which .NET Framework applications can access and manipulate management information.For more information on using the Reporting Services WMI classes using the System.Management namespace, see "Accessing Management Information with System.Managment" in the Microsoft .NET Framework SDK.
Bir rapor sunucusu örneğini bulma
Bilgisayarda yüklü bir rapor sunucusu birden çok örneği varsa, yöneticinin tam örnek özelliklerini değiştiren bilgisayar üzerindeki işaret etmek gerekir.Öğrenmek için doğrudan örnek, her sınıf, bir anahtar olarak tanımlanan bir özellik içerir.Bu anahtar özellik, bir rapor sunucusu yükleme benzersiz olarak tanımlar.Bir anahtar olarak tanımlanan özellik yol özellik.Bu değer özellik yapılandırma dosyasının adı dahil RSReportServer.config yapılandırma dosyasının yoludur.Çoğu yüklemeler için bu yol aşağıdaki örneğe benzer olacaktır:
C:\Program Files\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportServer\rsreportserver.config
Sonra MSReportServer_ConfigurationSetting sınıfı oluşturulduğunda, doldurmak anahtar uyan Rapor Yöneticisi ve rapor sunucusu örneğini bilgisayarı aramak ve anahtar.Durumunda bulunan, yönetim doldurmak koleksiyon geri kalanından değerleri bu örnek ile.
Doldurma tarafından bilgi edinebilirsiniz bir koleksiyonve bilgileri görüntülemek için yönetim sınıfı aracılığıyla döngü.Bu kodu Visual Studio'dan çalıştırıyorsanız.net, System.Management proje başvurusu ekleyin.Aşağıdaki örnek RSReportServer.config yapılandırma dosyası C:\Program Files\Microsoft sql Server\MSRS10_50. varsayýlmýþtýr<ÖrnekAdı>\Reporting Services\ReportServer\bin.System.Management sınıf yöntemleri için açıklamalar bulunabilir Microsoft Visual Studio.net sdk.
Bilgi bulma, tercih edilen yolu, rapor sunucusu yüklemeleri olan WMI örnek toplulukta numaralandırmak için.Aşağıdaki örnek oluşturarak özellikleri her rapor sunucusu örneğinin üzerinde bulmak nasıl gösterir bir koleksiyonve aracılığıyla döngü koleksiyon özelliklerini görüntülemek için.
Imports System
Imports System.Management
Imports System.IO
Module Module1
Sub Main()
Const WmiNamespace As String = "\\<ServerName>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10\Admin"
Const WmiRSClass As String = _
"\\<ServerName>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10\admin:MSReportServer_ConfigurationSetting"
Dim serverClass As ManagementClass
Dim scope As ManagementScope
scope = New ManagementScope(WmiNamespace)
'Connect to the Reporting Services namespace.
scope.Connect()
'Create the server class.
serverClass = New ManagementClass(WmiRSClass)
'Connect to the management object.
serverClass.Get()
If serverClass Is Nothing Then Throw New Exception("No class found")
'Loop through the instances of the server class.
Dim instances As ManagementObjectCollection = serverClass.GetInstances()
Dim instance As ManagementObject
For Each instance In instances
Console.Out.WriteLine("Instance Detected")
Dim instProps As PropertyDataCollection = instance.Properties
Dim prop As PropertyData
For Each prop In instProps
Dim name As String = prop.Name
Dim val As Object = prop.Value
Console.Out.Write("Property Name: " + name)
If val Is Nothing Then
Console.Out.WriteLine(" Value: <null>")
Else
Console.Out.WriteLine(" Value: " + val.ToString())
End If
Next
Next
Console.WriteLine("--- Press any key ---")
Console.ReadKey()
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 WmiNamespace = @"\\<ServerName>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10\Admin";
const string WmiRSClass =
@"\\<ServerName>\root\Microsoft\SqlServer\ReportServer\<InstanceName>\v10\admin:MSReportServer_ConfigurationSetting";
ManagementClass serverClass;
ManagementScope scope;
scope = new ManagementScope(WmiNamespace);
// Connect to the Reporting Services namespace.
scope.Connect();
// Create the server class.
serverClass = new ManagementClass(WmiRSClass);
// Connect to the management object.
serverClass.Get();
if (serverClass == null)
throw new Exception("No class found");
// Loop through the instances of the server class.
ManagementObjectCollection instances = serverClass.GetInstances();
foreach (ManagementObject instance in instances)
{
Console.Out.WriteLine("Instance Detected");
PropertyDataCollection instProps = instance.Properties;
foreach (PropertyData prop in instProps)
{
string name = prop.Name;
object val = prop.Value;
Console.Out.Write("Property Name: " + name);
if (val != null)
Console.Out.WriteLine(" Value: " + val.ToString());
else
Console.Out.WriteLine(" Value: <null>");
}
}
Console.WriteLine("\n--- Press any key ---");
Console.ReadKey();
}
}
Rapor sunucusu ve Rapor Yöneticisi okumak veya değiştirilen özellikleri hakkında daha fazla bilgi için bkz: Raporlama Hizmetleri WMI sağlayıcısı kitaplığı.Özel özellikler hakkında daha fazla bilgi için rapor sunucusu, bkz: MSReportServer_ConfigurationSetting sınıfı.Yapılandırma dosyalarının varsayılan yükleme hakkında daha fazla bilgi için bkz: Yapılandırma dosyaları (Raporlama Hizmetleri).