2016-08-24 48 views
0
  • 我已经与SonarQube 6.0使用H2默认数据库 尝试,现在我想看看我们如何能够与Oracle进行配置11 数据库。如何设置SonarQube 6 Oracle数据库

  • 我试过以下documentation,但不清楚在oracle数据库上将创建什么 表(模式)。是否需要自己的 单独的数据库,或者我可以将它连接到我们自己的现有数据库?如果 后者是正确的,SonarQube自动创建的表,我 希望确保它不会掉落任何表或数据(例如 如果他们有一个脚本,将删除表并重新创建它们。

  • 我知道这种情况不太可能发生,但我们在过去的 中有一个插件做了类似的事情,我想保持谨慎)。

如果你能指导我的步骤,我是appericiate。我已经配置了sonar.properties文件来指向我们当前的数据库。

sonar.jdbc.username=bdr 
sonar.jdbc.password=dev1pass 
sonar.jdbc.url=jdbc:oracle:thin:@dev3.our.domain.com:1522:dev3 

谢谢!

回答

3

由于stated in the documentation,你需要

创建一个空的模式和sonarqube用户。授予此sonarqube用户 权限以创建,更新和删除此模式的对象。

鉴于模式和适当的权限的话,SonarQube的确会创建自己的表,索引,&等既然你要小心限制sonarqube用户的权限,只有sonarqube模式,应该有不要干涉现有的表格或数据。

+0

谢谢你的回答。我按要求做了。我还有一个问题。文档分别推荐使用UTF-8和英文作为字符集和语言。但是,我们的数据库有WE8ISO8859P1和语言为“美国”。我没有权力去改变这些价值观,但有没有解决方法? – WowBow

+0

我发现有关字符集的以下错误。 xception将上下文初始化事件发送到类的监听器实例org.sonar.server.platform.PlatformServletContextListener org.sonar.api.utils.MessageException:Oracle必须具有UTF8字符集和BINARY排序。 NLS_CHARACTERSET是WE8ISO8859P1,NLS_SORT是BINARY。 因此SonarQube不兼容,除非数据库有字符集UTF8?目前,我认为我们不能更改为UTF 8.请建议除创建具有UTF 8架构的新数据库之外的最佳解决方案。谢谢。 – WowBow

+0

请注意,“英语”不是必需的。 –

1

对于您的信息,WE8ISO8859P1是一个单字节字符集。它有255个字符。 UTF-8每个字符使用1-4个字节。

+0

即必须将char设置为UTF-8?我不认为为整个数据库更改字符集可能不会很快发生。我正在寻找替代解决方案。否则,我们可能会被迫使用SonarQube DB提供的H2内部数据库。 – WowBow