我正在尝试从非本地的sql server创建共享数据源。 SSRS的主机是sql server 2014,数据库源是sql server 2008 R2。
无论我做什么,我都会得到同样的错误 “在建立与服务器的连接时发生错误。连接到SQL Server 2005时,这种失败可能是由于在默认设置下SQL Server不允许远程连接这一事实。(提供者:命名管道提供者,错误: 40 - 无法打开与SQL Server的连接“”
我知道一切都是正确的,因为即使我在运行报表时遇到此错误,在MSSQL报表生成器中,当我创建数据集并转到查询设计器并运行查询时,它实际运行时没有任何问题。
此外,还在报表生成器中,当我尝试在我的报表中嵌入连接时,当我在连接构建器(连接属性)中并且我从那里测试连接时,它给了我“测试连接超过”但是当我单击确定,返回数据源属性,然后单击“测试连接”它失败并给出上述错误。
如果我尝试在服务器上测试共享连接,它也会失败。
我尝试过多种不同的连接方式(使用Windows身份验证(我的用户是服务器上的管理员),SQL服务器身份验证,推销等),但都失败了。
我已经有一段时间了,服务器也被远程PHP服务器加入,所以我怀疑SQL服务器上有任何实际问题。我已经尝试停用我看过的所有防火墙,但我怀疑这是防火墙问题,因为我能够做所有这些连接。
答案 0 :(得分:0)
问题是SSRS服务器和数据源服务器之间无法正常工作的端口1433。但它确实在我的计算机和SQL服务器之间工作。
发生的事情是,当我测试连接时,第一个测试是一个快速测试,并通过我的计算机来测试连接,因此它是成功的。当它进行真正的测试时,它通过了SSRS服务器并在那里失败了。
同样的逻辑适用于我执行我的请求时,当我测试它工作的数据集时,因为在报表生成器中它通过我的计算机直接进入数据库,当我尝试运行报表时它通过SSRS服务器并在那里失败
所以防火墙存在一些问题,即使它在两台服务器上都已启用,但两者之间的连接却无法正常工作。