【问题标题】:Linked connection between MS SQL SERVER and Sybase ,Unicode problemMS SQL SERVER 和 Sybase 之间的链接连接,Unicode 问题
【发布时间】:2011-11-03 14:40:35
【问题描述】:

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

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

a?›a??a??a?一个?”
a??a??a?¬a??a?一种??

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

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

【问题讨论】:

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


    【解决方案1】:

    查询时尽量使用N@parameter

    【讨论】:

    • 你能把这个扩展成一个完整的答案吗?
    【解决方案2】:

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

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

    【讨论】:

    • 情况没有改变,有什么想法吗? btw obds驱动是: Adaptive server enterprise Driver version 15.5.0.8000 Driver ODBC Version 03.51
    【解决方案3】:

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

    我不确定 2014 年和 2008 年处理 unicode 字符的区别,但如果有的话,我认为差别不大。

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

    我的问题就这样解决了! (我玩了很多连接字符串都没有想要的结果)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-12
      • 2020-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多