sql-server-2005 - 将连接字符串中的排序规则属性设置为 SQL Server 2005

标签 sql-server-2005 ado.net connection-string globalization

我在 web.config 中有一个带有 SQL Server 2005 连接字符串的 ASP.Net Web 应用程序。

    Data Source=ABCSERVER;Network Library=DBMSSOCN;Initial Catalog=myDataBase;
User ID=myUsername;Password=myPassword;

我想在 web.config 中为不同语言(如法语)指定排序规则属性
    Data Source=ABCSERVER;Network Library=DBMSSOCN;Initial Catalog=myDataBase;
User ID=myUsername;Password=myPassword;Collation=French_CS_AS

但是整理 word 在连接字符串中无效。

我们需要用来指定 SQL Server 2005 连接字符串中的排序规则的正确关键字是什么?

编辑

我知道排序规则可以在数据库安装期间设置,也可以更改。我不想在数据库中永久更改它。但我希望 SQLClient 根据应用程序的设置来设置排序规则。
我只想在使用 SQL 查询时使用它
SELECT * FROM TESTTABLE ORDER BY TESTCOLUMN COLLATE French_CS_AS

我试图确保对于给定的连接,该连接的所有命令/查询都将自动使用 "French_CS_AS" - 基于连接字符串中的属性设置,而不是更改查询定义

最佳答案

您不能为连接设置排序规则。它根本不受支持。见 SQL Server Native Client: Connection strings and OLE DB有关如何解析连接字符串的非常有趣的博客文章。

您可以为连接设置语言。设置连接语言会改变处理日期的方式,并导致以指定语言提供系统错误消息。见 Session Language有关设置语言的更多信息。

关于对来自 COLLATE (Transact-SQL) 的非 Unicode 类型使用排序规则的警告:

char 和 varchar 数据类型支持代码页转换,但文本数据类型不支持。不会报告代码页转换期间的数据丢失。

理想情况下,如果您希望从您的数据中获得一致的多语言支持,您应该使用 Unicode 数据类型(nvarchar 等)。您还应该看到 Collation and International Terminology有关这方面的更多信息,请参阅 MSDN 上的文章。它包含对一些非常有用的其他文章的引用,所以不要停在那里。

关于sql-server-2005 - 将连接字符串中的排序规则属性设置为 SQL Server 2005,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3065289/

相关文章:

c# - 以编程方式添加 SSIS 连接 - Oracle Provider for OLE DB

java - 在JAVA中填充jTable

c# - 将虚拟列添加到强类型数据集

c# - 处理 'Sequence has no elements' 异常

c# - System.Data.dll ("Incorrect syntax near ' )'."中的“System.Data.SqlClient.SqlException”)?

c# - 当 "Application Name=application"在连接字符串中时,为什么此数据库连接失败?

visual-studio-2010 - 在Visual Studio安装之间传输保存的数据连接

asp.net - Linq-to-SQL 和 DateTime 的怪异

sql-server - 使用 ROW_NUMBER 应用分组排名

c# - 连接字符串中存在多个主机