2011-08-25 132 views
0

我在MS SQL SERVER 2008上使用Sybase ASE 12.5数据库添加了链接服务器, 一切正常,但是我遇到了unicode字符串的问题。MS SQL SERVER和Sybase之间的链接连接,Unicode问题

从MS SQL我'运行 当 “SELECT * FROM OPENQUERY(SYTEST, 'SELECT名称从产品')” 和结果集包含错误的字符

一个?> ??一??一一个? a?“
a?a?a??a?a?一个??

Sybase中的名称列是nvarchar类型,名称是用unicode编写的。

只有当ms sql server在windows server操作系统上运行时,才会出现问题 在Windows 7和XP上运行的ms sql-server上没有问题,我得到了正确的结果。

回答

0

如果它工作在2个独立的安装,你比较和使用sp_serveroption,检查链接的服务器设置,尤其是collation compatiblecollation name

如果这些是相同的,在OS检查任何DSN和Sybase驱动程序设置

+0

没有改变的情况,有没有什么想法?顺便说一下,驱动程序是:Adaptive Server Enterprise驱动程序版本15.5.0.8000 驱动程序ODBC版本03.51 – alekoo73

1

尝试使用N @参数进行查询时

+0

您可以将此扩展为完整答案吗? – hexafraction

0

在我的公司有这样的情况 我创建了从SQL Server 2014到IBM AS/400(i系列)的链接服务器并面对相同问题。

我不确定2014年和2008年处理unicode字符的不同,但我认为它没有太多,如果有的话。


2.如何

1.登录到SQL工作室右击,然后链接服务器选择“属性”
3.在左窗格中
4.集中选择“服务器选项”“使用远程排序规则”“真”
5. “归类名”,选择你的unicode (这里是基本列表 - https://technet.microsoft.com/en-us/library/ms180175%28v=sql.105%29.aspx

我的问题通过这种方式解决! (我玩了很多连接字符串,没有想要的结果)