【问题标题】:Collation conflict using 2 versions of SQL Server使用 2 个版本的 SQL Server 的排序规则冲突
【发布时间】:2013-12-09 00:00:13
【问题描述】:

我正在开发 2 个版本的 SQL Server,即 2005 和 2008 R2。

从 2008 R2 开始,我创建了一个链接服务器,它将连接到较旧的 SQL Server 2005 实例。

我的服务器 (2008) 上有一张桌子,如下所示

成员

id                  name     
0002320         AOne Enterprises Motihari
0002321         AOne Enterprises Siliguri

驻留在远程服务器上的另一个表包含每个代理的活动

id  member_code agent   rr_no   txn_date    amount

我在下面发起了一个查询

select top 5 * 
from [192.168.6.3].sync.dbo.agents_log
where member_code IN 
      (select id from members where name like 'AOne Enterprises%')

我试图从分布式数据库中提取 AOne Enterprises 的所有活动日志,因此我需要创建一个链接服务器。

我收到了这个错误:

消息 468,第 16 级,状态 9,第 1 行
无法解决等于操作中“SQL_Latin1_General_CP1_CI_AS”和“Latin1_General_BIN”之间的排序规则冲突。

【问题讨论】:

    标签: sql sql-server sql-server-2008 collation


    【解决方案1】:

    不完全确定您需要什么,但如果它是唯一的整理问题,您可以在下面做

    SELECT TOP 5 * 
    FROM   [192.168.6.3].sync.dbo.agents_log
    WHERE  member_code COLLATE SQL_Latin1_General_CP1_CI_AS 
    IN (SELECT id
        FROM   members
        WHERE  NAME LIKE 'AOne Enterprises%')
    

    我刚刚添加了 COLLATE SQL_Latin1_General_CP1_CI_AS ,也许它可以工作

    【讨论】:

      猜你喜欢
      • 2010-10-07
      • 2012-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-12
      • 2021-04-13
      • 2018-03-20
      相关资源
      最近更新 更多