【问题标题】:Duplicate key error with SonarQube 5.2SonarQube 5.2 出现重复键错误
【发布时间】:2016-02-05 08:53:45
【问题描述】:

我一直在试用 SonarQube 5.2,但遇到以下错误:

org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database.  
Cause:com.microsoft.sqlserver.jdbc.SQLServerException: Cannot insert duplicate key row in object 'dbo.projects' with unique index 'projects_uuid'. The duplicate key value is (AVDTnvuxTcMzGBo2P2Fw).
### The error may involve org.sonar.db.component.ComponentMapper.insert-Inline
### The error occurred while setting parameters
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot insert duplicate key row in object 'dbo.projects' with unique index 'projects_uuid'. The duplicate key value is (AVDTnvuxTcMzGBo2P2Fw).
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26) ~[mybatis-3.2.7.jar:3.2.7]
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:154) ~[mybatis-3.2.7.jar:3.2.7]
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:141) ~[mybatis-3.2.7.jar:3.2.7]
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:51) ~[mybatis-3.2.7.jar:3.2.7]
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52) ~[mybatis-3.2.7.jar:3.2.7]
at com.sun.proxy.$Proxy65.insert(Unknown Source) ~[na:na]
at org.sonar.db.component.ComponentDao.insert(ComponentDao.java:282) ~[sonar-db-5.2.jar:na]
at org.sonar.server.computation.step.PersistComponentsStep$PersistComponentStepsVisitor.persistComponent(PersistComponentsStep.java:172) ~[sonar-server-5.2.jar:na]
at org.sonar.server.computation.step.PersistComponentsStep$PersistComponentStepsVisitor.persistAndPopulateCache(PersistComponentsStep.java:164) ~[sonar-server-5.2.jar:na]
at org.sonar.server.computation.step.PersistComponentsStep$PersistComponentStepsVisitor.visitModule(PersistComponentsStep.java:130) ~[sonar-server-5.2.jar:na]
at org.sonar.server.computation.component.PathAwareCrawler.visitNode(PathAwareCrawler.java:83) ~[sonar-server-5.2.jar:na]
at org.sonar.server.computation.component.PathAwareCrawler.visit(PathAwareCrawler.java:51) ~[sonar-server-5.2.jar:na]
at org.sonar.server.computation.component.PathAwareCrawler.visitChildren(PathAwareCrawler.java:71) ~[sonar-server-5.2.jar:na]
at org.sonar.server.computation.component.PathAwareCrawler.visit(PathAwareCrawler.java:54) ~[sonar-server-5.2.jar:na]
at org.sonar.server.computation.step.PersistComponentsStep.execute(PersistComponentsStep.java:77) ~[sonar-server-5.2.jar:na]
at org.sonar.server.computation.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:39) ~[sonar-server-5.2.jar:na]
at org.sonar.server.computation.taskprocessor.report.ReportTaskProcessor.process(ReportTaskProcessor.java:53) ~[sonar-server-5.2.jar:na]
at org.sonar.server.computation.taskprocessor.CeWorkerRunnableImpl.executeTask(CeWorkerRunnableImpl.java:78) [sonar-server-5.2.jar:na]
at org.sonar.server.computation.taskprocessor.CeWorkerRunnableImpl.run(CeWorkerRunnableImpl.java:55) [sonar-server-5.2.jar:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_45]
at java.util.concurrent.FutureTask.runAndReset(Unknown Source) [na:1.8.0_45]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source) [na:1.8.0_45]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [na:1.8.0_45]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_45]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_45]

仅当我尝试分析的解决方案有多个项目时才会发生这种情况。 SonarQube 5.1.2 可以很好地分析相同的项目。我有以下配置:

  • SonarQube 5.2(带有 SQL Server 2012 数据库)
  • C# 4.3
  • Java 3.7
  • LDAP 1.5
  • Git 1.1
  • SVN 1.2
  • JavaScript 2.8

还有其他人遇到过这个问题吗?

【问题讨论】:

  • 您确认您的数据库区分大小写吗?您能否也将以下文件发送给我们:.sonarqube\out\sonar-project.properties?谢谢
  • 当然,区分大小写是个问题。在部署 5.2 以供日常使用之前,我设置了一个新环境来测试它,因此我还设置了一个全新的数据库并忘记了这一步。感谢您的帮助。
  • 太好了,这是个好消息!

标签: c# sonarqube


【解决方案1】:

问题在于 db 和表必须区分大小写。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-15
  • 2011-07-21
  • 2016-07-13
  • 2012-01-10
  • 1970-01-01
  • 2016-05-27
  • 2023-04-03
相关资源
最近更新 更多