sql-server - 链接服务器使用 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
笔记:
server2 : SQL_Latin1_General_CP1_CI_AS
server1: Latin1_General_CI_AI
请帮忙
解决方案
使用 CAST
select IDNo, CAST(Code+' '+ No + ' ' + Extension) as VARCHAR(8000), MenuNo from [server1].[database1].[dbo].[table1]
或结果集
EXEC('SELECT ... ') WITH RESULT SET ...
推荐阅读
- firebase - Firebase Admin SDK 错误 未找到请求的项目
- python - 如何使用 pandas 在数据框中搜索匹配的字符串?
- reactjs - React select 传递组件的 props to useMemo
- javascript - Tablesorter Jquery 库不工作
- spring - 与查询 JPA 的关系 - Spring
- docker - 如何通过 NGINX 代理在 Docker 中运行的 NuxtJs 应用程序?
- python - 在没有 for 循环的情况下取范数
- mysql - 如何通过在 MySQL 中加入 2 个具有相同列的表来创建新表
- javascript - 如何在幻灯片中添加滚动动画?
- rotation - 点积函数不产生旋转角度