在SQL Server中通过链接服务器获取数据时出错

时间:2017-06-22 11:49:05

标签: sql sql-server-2014 linked-server

我正在使用链接服务器

在SQL Server 2014上运行以下查询
select contact_faxnumber from [ausnry-sqltest1].elk_uat.dbo.crm_view_contact

收到以下错误

  

OLE DB提供程序' SQLNCLI'对于链接服务器' ausnry-sqltest1'返回的数据与列' [ausnry-sqltest1]的预期数据长度不匹配。[elk_uat]。[dbo]。[crm_view_contact] .Contact_FaxNumber'。 (最大)预期数据长度为15,而返回的数据长度为16。

如果我直接在链接服务器上运行相同的查询,那么它工作正常。

请建议做什么?

1 个答案:

答案 0 :(得分:0)

我猜crm_view_contact是一个视图(基于名称)?在这种情况下,它听起来像底层表架构可能已经更改但视图没有更新它的元数据,所以它认为一个列是15个字符长,实际上它更长。

如果是这种情况,则可以使用以下命令在源服务器上刷新视图元数据:

sp_refreshview [ @viewname = ] 'viewname'