2016-08-24 128 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