首页 > 解决方案 > 链接服务器使用 SQL Server 时连接不起作用

问题描述

在 SQL Server ( server1 )中运行 select 语句时

select IDNo, Code + ' ' + No + ' ' + Extension as Ext, MenuNo
from [database1].[dbo].[table1]

给出预期的结果:

1  |  Toranto 56 Placid 47  |  34563

但是从另一台服务器(server2)使用 server1 作为链接服务器的相同查询,给出的输出不完整。即连接列(第二列)仅返回预期列值的第一个字母(IDNo并且 MenuNo正确出现)

使用链接服务器查询(在server2上运行):

select IDNo, Code+' '+ No + ' ' + Extension, MenuNo
from [server1].[database1].[dbo].[table1]

输出:

 1  |  T  |  34563

笔记:

请帮忙

标签: sql-serverconcatenationlinked-server

解决方案


使用 CAST

select IDNo, CAST(Code+' '+ No + ' ' + Extension) as VARCHAR(8000), MenuNo from [server1].[database1].[dbo].[table1]

或结果集

EXEC('SELECT ... ') WITH RESULT SET ...

推荐阅读