AdomdConnection抛出“检查'SQL浏览器'服务是否正在运行”错误

时间:2016-10-20 13:36:13

标签: c# ado.net mdx olap olap-cube

我有以下代码,我正在努力工作: -

using (AdomdConnection conn = new AdomdConnection(_connString))
{
    conn.Open();

    Console.WriteLine(conn.ConnectionString);
    Console.WriteLine(conn.Cubes.Count);
}

使用和不使用conn.Open()行时会抛出以下错误: -

A connection cannot be made to redirector. Ensure that 'SQL Browser' service is running.

我正在使用的客户端计算机上没有可用的SQL浏览器服务。但令我感到烦恼的是,这个完全相同的连接字符串可以在Excel中运行,并且可以根据需要提取一组OLAP Cube测量值。

连接字符串如下: -

Provider=MSOLAP.4;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=RaptorMarketRiskSummary;Data Source=ssasp-raptor\plnqic01_as;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error

有没有人有任何想法?

非常感谢。

2 个答案:

答案 0 :(得分:1)

你试过这个吗?

此错误似乎仅与命名实例有关。原因是SQL客户端无法解析实例,因为SQL客户端无法访问SQL浏览器服务。 SQL Browser服务解析实例名称

1.确保SQL浏览器服务正在运行

2.确保运行SQL浏览器服务的端口未被PC阻止(默认端口2382)

或者,您可以绕过SQL浏览器服务,提及"服务器:端口"而不是客户端连接属性中的"服务器\实例名称",

这是一个老答案: a connection cannot be made to redirector. Ensure that 'sql browser' service is running

查看替代点:)

答案 1 :(得分:1)

事实证明这个错误

A connection cannot be made to redirector. Ensure that 'SQL Browser' service is running

可能是由与SQL浏览器是否正在运行无关的问题引起的。 (直观地说,我可以从Excel连接。)

在我的工作场所,每个员工在网络驱动器上都有个人空间。因为我打算将我的应用程序作为一个快速的概念验证来证明.Net能够连接到OLAP多维数据集,所以我在个人网络驱动器上使用了一个文件夹作为临时区域。然后我尝试连接到另一个数据库(直接,而不是通过多维数据集),发现我有一个权限问题。我编译了二进制文件(来自Visual Studio)并将其放在另一个网络驱动器上,以便同事可以从他的机器上进行测试。在检查二进制文件时会抛出错误,我从第二个网络驱动器运行它并且连接正常并带回一些数据。

更改应用程序以连接到我的OLAP多维数据集并将Visual Studio解决方案移动到我的本地C:驱动器,这样就可以很好地连接到多维数据集并撤回我想要的数据!

所以:检查SQL浏览器服务正在运行'错误是一个包罗万象的建议,涵盖了下面的众多罪恶。权限取决于应用程序的运行位置(即哪个网络驱动器,而不仅仅是驱动器是网络还是本地驱动器。)

希望这会有所帮助:)