sql-server-2012-MessageException:当前版本过旧.请首先升级到长期支持版本

我下载了SonarQube 5.3,配置了sonar.properties文件,下载了MSSQL的JDBC驱动程序(我正在使用SQL Server 2012和SQL JDBC 4.2),并在我的SQL Server 2012实例中使用数据库声纳创建了一个具有所有授权的用户.

然后我执行startSonar.bat,这将引发以下错误:

2016.01.22 13:57:57 INFO  web[o.s.s.p.ServerImpl] SonarQube Server / 5.3 / 8db783e62b266eeb0d0b10dc050a7ca50e96c5d1
2016.01.22 13:57:57 INFO  web[o.sonar.db.Database] Create JDBC data source for jdbc:sqlserver://localhost;databaseName=sonar
2016.01.22 13:57:59 ERROR web[o.a.c.c.C.[.[.[/]] Exception sending context initialized event to listener instance of class org.sonar.server.platform.PlatformServletContextListener
org.sonar.api.utils.MessageException: Current version is too old. Please upgrade to Long Term Support version firstly.
2016.01.22 13:57:59 INFO  web[jruby.rack] jruby 1.7.9 (ruby-1.8.7p370) 2013-12-06 87b108a on Java HotSpot(TM) 64-Bit Server VM 1.8.0_66-b18 [Windows 7-amd64]
2016.01.22 13:57:59 INFO  web[jruby.rack] using a shared (threadsafe!) runtime
2016.01.22 13:58:05 ERROR web[jruby.rack] initialization failed
org.jruby.rack.RackInitializationException: java.lang.NullPointerException
    at org.jruby.rack.RackInitializationException.wrap(RackInitializationException.java:31) ~[jruby-rack-1.1.13.2.jar:na]
    at org.jruby.rack.RackApplicationFactoryDecorator.init(RackApplicationFactoryDecorator.java:98) ~[jruby-rack-1.1.13.2.jar:na]
    at org.jruby.rack.RackServletContextListener.contextInitialized(RackServletContextListener.java:50) ~[jruby-rack-1.1.13.2.jar:na]
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4720) [tomcat-embed-core-8.0.18.jar:8.0.18]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) [tomcat-embed-core-8.0.18.jar:8.0.18]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.0.18.jar:8.0.18]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) [tomcat-embed-core-8.0.18.jar:8.0.18]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399) [tomcat-embed-core-8.0.18.jar:8.0.18]
    at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.8.0_66]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_66]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_66]
    at java.lang.Thread.run(Unknown Source) [na:1.8.0_66]
--- and then creates a cascade of errors ---

这是sonar.properties文件中的内容:

# DATABASE
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

# Use the following connection string if you want to use SQL Auth while connecting to MS Sql Server.
# Set the sonar.jdbc.username and sonar.jdbc.password appropriately.
 sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar

 # TCP port for incoming HTTP connections. Disabled when value is -1.
sonar.web.port=4950

我看到的只是“当前版本太旧.请先升级到长期支持版本.”但是…升级什么?

最佳答案
这与您的数据库品牌或版本无关,但与您要升级的SonarQube平台的版本无关.从版本4.5开始,该平台的新版本仅累积从先前的长期支持版本开始的数据库升级脚本.因此,SonarQube平台版本3.2知道如何从1.5一直升级,但是版本5.3仅知道如何从版本4.5.x开始更新数据库.

因此,您必须先升级到4.5.x-我建议使用4.5.7-然后再升级到5.3.

更新

5.6.7是当前的先前LTS,因此从假设的3.2安装进行的当前升级路径为:

3.2-> 4.5.7-> 5.6.6

更新17年12月1日

6.7是当前的LTS,因此从假设的3.2安装进行的当前升级路径为:

3.2-> 4.5.7. – > 5.6.7-> 6.7

可以跳过中间版本.

转载注明原文:sql-server-2012-MessageException:当前版本过旧.请首先升级到长期支持版本 - 代码日志