自从Sonarqube 5.2发布以来,不再支持jTDS JDBC驱动程序。我们使用这个驱动程序连接到我们的SQLServer实例,但是我们必须切换到Microsoft SQLServer驱动程序。我们在Ubuntu上运行Sonarqube,并使用Active Directory帐户连接到SQLServer数据库。由于我们在Ubuntu上运行,因此我们无法使用集成安全性,因此必须在Sonarqube的JDBC配置中提供凭据。这将导致以下属性:Sonarqube 5.2 SQLServer连接
sonar.jdbc.url=jdbc:sqlserver://sqlserverhost.my.domain.com:1433;databaseName=sonar;selectMethod=cursor
sonar.jdbc.username=someuser
sonar.jdbc.password=somepassword
这导致SQLServer的一个“登录失败”消息“找不到登录匹配提供的名称。”
我想接下来的事情是与包含域用户名进行连接,从而导致这些属性:
sonar.jdbc.url=jdbc:sqlserver://sqlserverhost.my.domain.com:1433;databaseName=sonar;selectMethod=cursor
sonar.jdbc.username=DOMAIN\\someuser
sonar.jdbc.password=somepassword
然而,这也导致了“登录失败”,在SQLServer的,这里的消息是“尝试使用SQL Server身份验证使用NT帐户名称“。
我错过了什么?
UPDATE:
的Sonarqube日志可以在这里找到:http://pastebin.com/AGB9bTQG
我能想到的一件事是从JTDS连接网址不同:包含 的JTDS连接的URL“域= my.domain.com” ,Microsoft SQLServer驱动程序似乎不支持。因此我尝试了SQLServer拒绝的DOMAIN \ someuser设置。
在以前版本的SQ(同时使用JTDS),是您使用作为当前值相同的用户名和密码?换句话说,你只更新了“sonar.jdbc.url”属性还是更改了其他内容? –
是的,我们一直在使用相同的凭证一段时间,不仅改变了sonar.jdbc.url和sonar.jdbc.driver ofcourse – nieuwtje
您不必指定“sonar.jdbc.driver”,什么样的价值也你定了吗? –