0

最近、4.4.1 から Sonar 5.3 にアップグレードしたところ、プロジェクトの 1 つで重複キーの問題が発生しました。照合順序を確認したところ、データベース サーバーとデータベースでは大文字と小文字が区別されず、列では大文字と小文字が区別されることがわかりました。データベースの照合順序を "Latin1_General_CS_AS" に変更する必要がありますか? サーバーで照合順序を変更するのは少し難しいですが、データベースで試すことができます。

SELECT SERVERPROPERTY('COLLATION')

出力: Latin1_General_CI_AS

SELECT DATABASEPROPERTYEX('<SonarDatabaseName>', 'Collation') SQLCollation;

出力: Latin1_General_CI_AS

列の場合、「Laitn1_General_CS_AS」です。

ソナー ログにエラーがあります。表に重複キーが表示されましたが、これが照合によるものかどうかはわかりませんここで報告されているようにDuplicate key error with SonarQube 5.2 :

            ERROR [o.s.s.c.t.CeWorkerCallableImpl] Failed to execute task AVM28yZdM8YcgYQ_GJuI
            org.sonar.server.computation.component.VisitException: Visit failed for Component
            .
            .
            ### Error updating database.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot insert duplicate key row in object 'dbo.projects' with unique index 'projects_kee'.

前もって感謝します。

4

1 に答える 1

1

大文字と小文字の区別は要件であるため、このデータベースの照合順序を変更する必要があります (大文字と小文字を区別 (CS) し、アクセントを区別する (AS) にします)。

于 2016-03-07T08:01:55.697 に答える