MS SQL SERVER和Sybase之间的链接连接,Unicode问题

时间:2011-08-25 11:28:32

标签: sql-server unicode linked-server sybase-ase

我在MS SQL SERVER 2008上添加了链接服务器和Sybase ASE 12.5数据库, 一切正常,但我有unicode字符串的问题。

我正在运行时从MS SQL

“SELECT * FROM OPENQUERY(SYTEST,'SELECT Name FROM PRODUCT')” 并且结果集包含错误的字符

一个?>一个??一个??一个?一个?”
一??一??一?¬A一个???一个??

Sybase中的名称列为nvarchar类型,名称以unicode编写。

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

如果它适用于2个单独的安装,则使用sp_serveroption比较并检查链接的服务器设置,尤其是collation compatiblecollation name

如果它们相同,请检查操作系统中的任何DSN和Sybase驱动程序设置

答案 2 :(得分:0)

我公司有这样的案例 我已经创建了一个从SQL Server 2014到IBM AS / 400(i系列)的链接服务器,并遇到了同样的问题。

我不确定2014年和2008年之间的差异处理unicode字符,但我认为它不多,如果有的话。

如何
1.登录SQL工作室
2.右键单击链接的服务器,然后选择"属性"
3.在左窗格中选择"服务器选项" 4.设置"使用远程整理" " True"
5.在"整理名称" 中,选择您的unicode (此处为基本列表 - https://technet.microsoft.com/en-us/library/ms180175%28v=sql.105%29.aspx"

我的问题以这种方式解决了! (我使用连接字符串播放了很多没有预期效果的内容)