我有以下代码,我正在努力工作: -
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
有没有人有任何想法?
非常感谢。
答案 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浏览器服务正在运行'错误是一个包罗万象的建议,涵盖了下面的众多罪恶。权限取决于应用程序的运行位置(即哪个网络驱动器,而不仅仅是驱动器是网络还是本地驱动器。)
希望这会有所帮助:)