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

发布于 2024-12-01 12:08:25 字数 382 浏览 2 评论 0原文

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

当我运行时来自 MS SQL “SELECT * FROM OPENQUERY(SYTEST,'从产品中选择名称')” 结果集包含错误字符

a?›a??a??a? a?”
??a??a???a??a? a??

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

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

I added linked server on MS SQL SERVER 2008 with Sybase ASE 12.5 databases,
everything works fine, but i've got problem with unicode strings.

from MS SQL when i'am running
"SELECT * FROM OPENQUERY ( SYTEST ,'SELECT Name FROM PRODUCT')"
and the result set contains wrong characters

a?›a??a??a? a?”
a??a??a?¬a??a? a??

Name column in Sybase is of nvarchar type , names are written in unicode.

Problem occurs only when ms sql server is running on windows server operating system,
There is no problem on ms sql-servers running on Windows 7 and XP, where I got correct result.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

来世叙缘 2024-12-08 12:08:25

查询时尝试使用N@参数

try to use N@parameter when making query

森林很绿却致人迷途 2024-12-08 12:08:25

如果它适用于 2 个单独的安装,则可以使用 sp_serveroption< 比较并检查链接服务器设置/a>,尤其是排序规则兼容排序规则名称

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

If it works on 2 separate installs, you compare and check the linked server settings using sp_serveroption, especially collation compatible and collation name

If these are the same, check any DSN and Sybase driver settings in the OS

桃气十足 2024-12-08 12:08:25

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

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

如何
1.登录SQL studio
2.右键单击链接服务器,然后选择“属性”
3. 在左侧窗格中选择“服务器选项”
4. 将“使用远程排序规则”设置为“True”
5. 在“排序规则名称”中,选择您的 unicode (这是基本列表 - https://technet.microsoft.com/en-us/library/ms180175%28v=sql.105%29.aspx"

我的问题就这样解决了!(我使用连接字符串玩了很多,但没有得到想要的结果)

There is a case like this in my company
I've created a linked server from SQL Server 2014 to the IBM AS/400 (i series) and faced with the same problem.

I'm not sure about the different between 2014 and 2008 handle the unicode chars but I think it not much, if any.

How to
1. login to the SQL studio
2. right click the linked server then select "properties"
3. select "Server options" in left pane
4. set "Use remote collation" to "True"
5. in "Collation name", choose your unicode (here is the basic list - https://technet.microsoft.com/en-us/library/ms180175%28v=sql.105%29.aspx"

My problems solved this way! (I played a lot with connection strings with no desired results)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文