C# 如何更改存储过程&x27;SQL中的排序规则?

C# 如何更改存储过程&x27;SQL中的排序规则?,c#,sql-server,stored-procedures,collation,C#,Sql Server,Stored Procedures,Collation,在我的C#程序中,当我尝试运行一个存储过程时,它会给我一个异常,该异常与排序规则之间的冲突有关。我怎样才能修好它 错误说明:“无法解决之间的排序规则冲突。” 等于运算中的“阿拉伯语”和“拉丁语” SQL Server中的排序规则定义了一组用于比较和排序字符串的规则 100次中有99次,此特定错误是跨数据库查询的结果,具有连接或where条件,涉及不同数据库中表的“string”列(其中一个通常是tempdb) 您可以将排序规则指定为查询的一部分,可以是命名的排序规则,也可以是数据库的默认关键字。

在我的C#程序中,当我尝试运行一个存储过程时,它会给我一个异常,该异常与排序规则之间的冲突有关。我怎样才能修好它

错误说明:“无法解决之间的排序规则冲突。” 等于运算中的“阿拉伯语”和“拉丁语”


SQL Server中的排序规则定义了一组用于比较和排序字符串的规则

100次中有99次,此特定错误是跨数据库查询的结果,具有连接或where条件,涉及不同数据库中表的“string”列(其中一个通常是tempdb)

您可以将排序规则指定为查询的一部分,可以是命名的排序规则,也可以是数据库的默认关键字。有关更多信息,请参阅


请注意,这实际上会禁用(就这个特定查询而言)动态排序列上的索引(如果存在)。

SQL Server中的排序规则定义了一组用于比较和排序字符串的规则

100次中有99次,此特定错误是跨数据库查询的结果,具有连接或where条件,涉及不同数据库中表的“string”列(其中一个通常是tempdb)

您可以将排序规则指定为查询的一部分,可以是命名的排序规则,也可以是数据库的默认关键字。有关更多信息,请参阅


请注意,这实际上会禁用(就这个特定查询而言)动态整理列上的索引(如果存在)。

我在创建具有一些nvarchar参数的sp时也遇到了相同的错误。这些参数在此sp内进行了有条件的修改。下面是导致与您相同错误的代码示例:

create procedure a
    @name nvarchar(128),
as
    if (@name = '')
        throw 51000, 'Empty name', 1;
go
这里的解决方案似乎是定义排序规则(最好是
数据库\u default
):


我在创建包含一些nvarchar参数的sp时也遇到了相同的错误。这些参数在此sp内进行了有条件的修改。下面是导致与您相同错误的代码示例:

create procedure a
    @name nvarchar(128),
as
    if (@name = '')
        throw 51000, 'Empty name', 1;
go
这里的解决方案似乎是定义排序规则(最好是
数据库\u default
):


存储过程的可能副本没有排序规则,但表列、变量、参数等有排序规则。除非您有特定的理由不这样做,否则请在整个SQL Server实例中使用相同的排序规则。存储过程的可能副本没有排序规则,但表列、变量、参数等有排序规则。除非您有特定的理由不这样做,否则在整个SQL Server实例中使用相同的排序规则。