我在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没有问题,我得到了正确的结果。
答案 0 :(得分:1)
在进行查询时尝试使用N @参数
答案 1 :(得分:0)
如果它适用于2个单独的安装,则使用sp_serveroption比较并检查链接的服务器设置,尤其是collation compatible
和collation 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"
我的问题以这种方式解决了! (我使用连接字符串播放了很多没有预期效果的内容)