reggiepangilinanX


is there a way to check the reporting services remotely.. using the reporting services url



Re: Check remotely if Reporting Services exist

Sibin


What do you actually Mean by checking reporting Services remotely What is your requirement





Re: Check remotely if Reporting Services exist

reggiepangilinanX

i want to check if a remote server has an existing reporting service or runs a reporting service...






Re: Check remotely if Reporting Services exist

Sibin

You can check using

http://servername/reportserver

or

http://servername/reports





Re: Check remotely if Reporting Services exist

reggiepangilinanX

yeah... but how can i check it programatically




Re: Check remotely if Reporting Services exist

Sibin

Can you specify the scenario where you need this checking.May be I can help you




Re: Check remotely if Reporting Services exist

reggiepangilinanX

im trying to make an application that can connect to multiple report server... i need to get all the available report server within the network then connect to that report service...





Re: Check remotely if Reporting Services exist

Mahasweta Das

hii

Is this the thing you mean to say i mean you want to see your reporting serverices

if this the thing u wanted then you can go for the following path.

C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServe

cheers

regards

Mahasweta






Re: Check remotely if Reporting Services exist

Sibin

May be this will help you

Check the link

http://msdn2.microsoft.com/en-us/library/aa226200(SQL.80).aspx


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Management;
using System.IO;
[assembly: CLSCompliant(true)]

namespace TGest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
const string WmiNamespace = @"\\localhost\root\Microsoft\SqlServer\ReportServer\v9\Admin";
const string WmiRSClass =
@"\\localhost\root\Microsoft\SqlServer\ReportServer\v9\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)
{
MessageBox.Show("Instance Detected");

}

}

}
}





Re: Check remotely if Reporting Services exist

reggiepangilinanX

thanks man! i got all the reporting services instance in my local my machine... but im trying to access a remote workstation and get all the report server instance in there... but im getting an error "{"Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))"}". i've already use a default authentication level(Windows authentication). here's my code..

Code Snippet

try

{

const string WmiNamespace = @"\\bserver\root\Microsoft\SqlServer\ReportServer\v9\Admin";

const string WmiRSClass =

@"\\bserver\root\Microsoft\SqlServer\ReportServer\v9\admin:MSReportServer_ConfigurationSetting";

ManagementClass serverClass;

ManagementScope scope;

ConnectionOptions options;

options = new ConnectionOptions();

options.Authentication = AuthenticationLevel.Default;

scope = new ManagementScope(WmiNamespace,options);

// 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>");

}

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

thanks!! Smile