2013-08-21 68 views
0

目前我正在運行聲吶3.5.1安裝,沒有問題。我想升級到最新的3.7版本,但是在開始安裝程序後,我收到一條錯誤,指出數據庫遷移失敗。聲吶 - 升級到Sonar 3.7失敗

的消息稱:

  • java.lang.IllegalStateException:無法執行數據庫遷移:org.sonar.server.db.migrations.ConvertViolationsToIssues

聲納上運行:

  • Windows 7 Pro-x64
  • MSSQL 2008 R2數據庫服務器
  • MSSQL JTDS-1.2.7

other listed calls on stackoverflow它說,有關於這部分與發行3.7來一些修正。

以下是記錄的錯誤:


INFO | jvm 1 | 2013/08/21 12:04:09 | == MigrateViolationsToIssues: migrating ====================================== 
2013.08.21 12:04:09 ERROR o.s.s.d.DatabaseMigrator Fail to execute database migration: org.sonar.server.db.migrations.ConvertViolationsToIssues 
java.lang.IllegalStateException: Fail to convert violations to issues 
    at org.sonar.server.db.migrations.ConvertViolationsToIssues.execute(ConvertViolationsToIssues.java:65) ~[classes/:na] 
    at org.sonar.server.db.DatabaseMigrator.executeMigration(DatabaseMigrator.java:78) ~[classes/:na] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_17] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_17] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_17] 
    at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_17] 
[Cut some stacktrace info] 
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) [jetty-server-7.6.11.v20130520.jar:7.6.11.v20130520] 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) [jetty-io-7.6.11.v20130520.jar:7.6.11.v20130520] 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) [jetty-io-7.6.11.v20130520.jar:7.6.11.v20130520] 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) [jetty-util-7.6.11.v20130520.jar:7.6.11.v20130520] 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) [jetty-util-7.6.11.v20130520.jar:7.6.11.v20130520] 
    at java.lang.Thread.run(Unknown Source) [na:1.7.0_17] 
Caused by: java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: Unable to identify the table TRUNCATE TABLE issues for the metadata. Query: TRUNCATE TABLE issues Parameters: [] 
    at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:363) ~[commons-dbutils-1.5.jar:1.5] 
    at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:490) ~[commons-dbutils-1.5.jar:1.5] 
    at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:376) ~[commons-dbutils-1.5.jar:1.5] 
    at org.sonar.server.db.migrations.ConvertViolationsToIssues.truncateIssueTables(ConvertViolationsToIssues.java:74) ~[classes/:na] 
    at org.sonar.server.db.migrations.ConvertViolationsToIssues.execute(ConvertViolationsToIssues.java:62) ~[classes/:na] 
    ... 537 common frames omitted 
2013.08.21 12:04:09 ERROR o.s.s.ui.JRubyFacade Fail to render: http://localhost:9000/setup/setup_database 
An error has occurred, this and all later migrations canceled: 

java.lang.IllegalStateException: Fail to execute database migration: org.sonar.server.db.migrations.ConvertViolationsToIssues 
    org/sonar/server/db/DatabaseMigrator.java:83:in `executeMigration' 

+0

我很確定這個問題與https://jira.codehaus.org/browse/SONAR-4542無關,但更具有上下文性。遷移失敗後,您是否看到SonarQube DB中的「問題」表? –

+0

是的;有一個「問題」表。 – Bart

+0

實際上看起來你不是使用JDBC jTDS驅動程序,而是使用微軟驅動程序,請參閱「java.sql.SQLException:com.microsoft.sqlserver.jdbc.SQLServerException:...」 –

回答

1

的問題是在使用SQLServer的JDBC驅動程序。從SqlServer驅動程序切換到adviced jTSD驅動程序解決了問題。

感謝Sonar團隊。