SonarQube:是数据库还是实例的排序规则?
Posted
技术标签:
【中文标题】SonarQube:是数据库还是实例的排序规则?【英文标题】:SonarQube: Is the Collation for the Database or the Instance? 【发布时间】:2017-06-17 03:45:28 【问题描述】:根据 SonarQube 文档“安装服务器”(https://docs.sonarqube.org/display/sonar/installing+the+server),对于 Microsoft SQL Server 主机,“排序规则必须区分大小写 (CS) 和区分重音 (AS)。”
文档不清楚是否必须设置排序规则:
对于 SQL Server 实例,或 数据库如果 SQL Server(特别是 tempdb)的排序规则是“重音不敏感”并且数据库排序规则是“重音敏感”,SonarQube 是否支持这种配置?
【问题讨论】:
【参考方案1】:如果 SQL Server(特别是 tempdb)的排序规则是“重音不敏感”并且数据库排序规则是“重音敏感”,SonarQube 是否支持这种配置?
由于文档含糊不清(他们可能使用 SQL Server 的程度不足以了解可以设置排序规则的不同级别),因此在这里获得答案的唯一两种方法是:
联系他们的社区:https://www.sonarqube.org/community/feedback/。这是最好的选择。
将其安装在具有不区分重音的默认排序规则的实例上并进行测试。没有理由不试试这个。
SonarQube 是否正确处理这个问题取决于它是如何编码的。他们可能会在临时表中的字符串列上进行联接,并且数据库和实例之间的排序规则的任何差异可能都可能导致错误,但前提是他们在创建临时表时没有特别声明排序规则。
此外,他们的应用程序可能需要区分重音,因为它们有一些变量名称和/或光标名称和/或(不太可能)GOTO
标签名称可能等同于不区分重音,否则应该被视为不同的。实例级排序规则控制这些区域,因此会影响这些项目的名称解析。当然,这很容易测试,因为如果声明两个在重音敏感下被视为不同名称的变量,如果足够接近以在重音不敏感下被认为相同,则会导致解析错误。不过,请联系他们的社区。p>
【讨论】:
以上是关于SonarQube:是数据库还是实例的排序规则?的主要内容,如果未能解决你的问题,请参考以下文章