另一台SQL DB :B
从B用ssms连接s成功,且可以查询cube.
但从B建立链接服务器到S,则提示下面的消息.
我在C,D等其它Sqlserver服务器链接到S均成功.而且把链接服务器的脚本弄到B上面重新创建链接到S.也失败.信息同样如下.
我把B上面的链接服务器脚本放到C,D等服务器上面创建链接,也能成功链接到S.
求大神帮忙分析下原因.
===================================
The test connection to the linked server failed.
===================================
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
Program Location:
at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
at Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(String cmd)
at Microsoft.SqlServer.Management.Smo.LinkedServer.TestConnection()
at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.LinkedServerConnectionTest.Invoke()
===================================
Cannot initialize the data source object of OLE DB provider "MSOLAP" for linked server "ssas_Cube1".
OLE DB provider "MSOLAP" for linked server "ssas_Cube1" returned message "内部错误: 出现错误(文件“ pcxmlaclient.cpp”,第 280 行,
函数“PCXMLAClient::PrepareForMessage”)。". (.Net SqlClient Data Provider)
------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=12.00.4427&EvtSrc=MSSQLServer&EvtID=7303&LinkId=20476
------------------------------
Server Name: bi_svr
Error Number: 7303
Severity: 16
State: 1
Procedure: sp_testlinkedserver
Line Number: 1
------------------------------
Program Location:
at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)
at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
6 个解决方案
#1
看来是没有人遇到过这个奇怪的问题.
#2
暂时把服务器S上的windows防火墙关掉试试..
#3
服务器没有开防火墙.
#5
谢谢,都尝试了,还是没用.
#6
坐等有类似错误的回答.
#1
看来是没有人遇到过这个奇怪的问题.
#2
暂时把服务器S上的windows防火墙关掉试试..
#3
服务器没有开防火墙.
#4
#5
谢谢,都尝试了,还是没用.
#6
坐等有类似错误的回答.