SqlServer跨库查询OpenQuery()中文显示问号的解决方案

目录

一、问题描述

二、原因剖析

三、解决方法

四、结果验证


一、问题描述

1、sqlserver跨库查询oracle库数据时,返回结果的中文字段全部显示为问号。

2、直接在oracle库查询,中文显示正常。

SqlServer跨库查询OpenQuery()中文显示问号的解决方案

二、原因剖析

造成的原因是oracle的字符集和sqlserver库字符集不一致。

查看oracle库字符集:

SqlServer跨库查询OpenQuery()中文显示问号的解决方案

三、解决方法

1、在sqlserver库服务器新增系统变量NS_LANG。变量值为oracle库字符集

2、重启SqlServer库服务器。

SqlServer跨库查询OpenQuery()中文显示问号的解决方案

四、结果验证

再次查询中文显示正常。

SqlServer跨库查询OpenQuery()中文显示问号的解决方案