得到错误,同时通过链接服务器在SQL服务器获取数据

问题描述:

我运行以下SQL Server 2014的查询使用链接服务器得到错误,同时通过链接服务器在SQL服务器获取数据

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.

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

请建议该怎么做?

+0

有一个主题从现有的几个问题,例如https://*.com/questions/ 4215979 /问题与选择在mysql-through-odbc-from-microsoft-sql-server,https://*.com/questions/26022535/simba-mongo-odbc-driver-returned-data-that-不匹配期望的数据长度,和https://*.com/questions/30124518/weird-returned-data-that-does-not-match-expected-data-length-for-column-error ?noredirect = 1&lq = 1 ...不重复,因为这些都不涉及SQL Server与SQL Server对话,但可能提供进一步的调查路线。 –

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

如果是这种情况,那么该视图的元数据可以在源服务器上刷新为:

sp_refreshview [ @viewname = ] 'viewname'