2012-02-22 83 views
55

我得到如下所述核错误,因为我已经从台式机转移到一台笔记本电脑。我的数据库有数百个存储过程,因此任何解决方案(如重写某些查询或修正列的排序规则对我来说都是不可能的)。无法解析规则“SQL_Latin1_General_CP1_CI_AS”和“Latin1_General_CI_AI”中的平等之间的排序规则冲突操作

“无法解析之间的排序规则冲突规则‘SQL_Latin1_General_CP1_CI_AS’和‘Latin1_General_CI_AI’在等于操作”

我的问题是不是唯一的,我已经寻找这种颇多,但可用的解决方案建议我重写用一些不可行的代码进行查询。请建议一些解决方案,可以避免这种整理事情。

我试过这个来改变我的数据库排序规则。

ALTER DATABASE testDB 
COLLATE French_CI_AI ; 
GO 

谢谢。

回答

90

使用不同的排序规则连接表时,只需使用以下语法即时整理。我整合系统,所以必须做到这一点。

select * from [Product] p join [category] c 
on 
c.[Name] collate SQL_Latin1_General_CP1_CI_AS 
= 
p.[Name] collate SQL_Latin1_General_CP1_CI_AS 
+0

对于任何人能做到这一点的飞行 – 2012-02-25 18:14:51

+1

感谢师父的样式,您的答复,但这不是要帮我,我的问题是,在周围600多个存储过程流传着100+表。 – TechnicalSmile 2012-03-01 09:17:10

+0

@MasterStyles我想改变整个数据库的排序规则。这是可能的? – coderwill 2017-05-11 11:48:42

6
USE master; 
GO 
ALTER DATABASE PRATAP 
COLLATE Latin1_General_CI_AS_KS_WS ; 
GO 

--Verify the collation setting. 
SELECT name, collation_name 
FROM sys.databases 
WHERE name = N' PRATAP '; 
GO 
相关问题