首页 文章

SonarQube:数据库或实例的排序规则?

提问于
浏览
2

根据SonarQube文档"Installing the Server"(https://docs.sonarqube.org/display/sonar/installing+the+server),对于Microsoft SQL Server主机,"collation MUST be case-sensitive (CS) and accent-sensitive (AS)."

如果必须设置排序规则,则不清楚文档:

  • 用于SQL Server实例,或

  • 数据库

如果SQL Server(特别是对于tempdb)的排序规则是“重音不敏感”且数据库排序规则是“重音敏感”,SonarQube是否适应此配置?

1 回答

  • 0

    如果SQL Server(特别是tempdb)的排序规则是“重音不敏感”且数据库排序规则是“重音敏感”,SonarQube是否适应此配置?

    由于文档含糊不清(他们可能不会使用SQL Server足以知道可以设置排序规则的不同级别),因此在这里获得答案的唯一两种方法是:

    SonarQube是否正确处理此问题取决于它的编码方式 . 它们可以在临时表中的字符串列上进行JOIN,并且数据库和实例之间的归类中的任何差异都可能导致错误,但前提是它们在创建临时表时未明确声明归类 .

    此外,他们的应用程序可能需要重音敏感度,因为它们有一些变量名称和/或游标名称和/或(不太可能) GOTO 标签名称可能等同于重音不敏感,否则应视为不同 . 实例级排序规则控制这些区域,因此会影响这些项目的名称解析 . 当然,这很容易测试,因为在重音灵敏度下声明两个被认为是不同名称的变量将导致解析错误,如果足够接近在重音不敏感下被认为是相同的 . 不过,请联系他们的社区 .

相关问题