您的位置:首页 > 汽车 > 时评 > 什么是搭建网站_揭阳专业做网站_怎么推广游戏叫别人玩_软文推广经典案例

什么是搭建网站_揭阳专业做网站_怎么推广游戏叫别人玩_软文推广经典案例

2025/4/17 22:20:03 来源:https://blog.csdn.net/Humbunklung/article/details/147011116  浏览:    关键词:什么是搭建网站_揭阳专业做网站_怎么推广游戏叫别人玩_软文推广经典案例
什么是搭建网站_揭阳专业做网站_怎么推广游戏叫别人玩_软文推广经典案例

之前本机跑了一套SonarQube的社区版,默认使用的是H2数据库,那么我把它练到我机器上的SQL Server数据库了,期间遇到以下两个问题,并在配置过程中解决掉,特将这个过程记录下来。

一、JDBC连接SQL Server问题

1. 问题出现

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: “Encrypt”属性设置为“true”且 “trustServerCertificate”属性设置为“false”,但驱动程序无法使用安全套接字层 (SSL) 加密与 SQL Server 建立安全连接:错误:(certificate_unknown) PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target。 ClientConnectionId:f2442503-79f4-4bbf-b402-c63f310d2b1b

2. 问题分析
这是因为默认启用了encrypt属性,且trustServerCertificate服务器证书信任属性为false(即不信任服务器证书),这样就要自行指定证书了,然后又没有给指定,那当然不让连。

3. 解决办法
(1)信任服务器证书
也就是使用自签名证书:

sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar;encrypt=true;trustServerCertificate=true

(2)不加密(不建议)
一不做二不休,干脆不加密了:

sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar;encrypt=false

当然,这么干风险是存在的,当然用于本地测试学习,也无所谓了,生产环境确实不建议:
风险描述:当encrypt=false时,客户端不会强制要求加密。如果SQL Server未配置强制加密(例如服务器未启用“强制加密”选项),所有通信数据(包括敏感信息如用户名、密码、查询内容等)将以明文形式传输。
潜在后果:攻击者可通过网络抓包(如Wireshark)窃取数据,导致信息泄露或中间人攻击。

二、数据库排序规则问题

1. 问题出现

Caused by: org.sonar.api.utils.MessageException: Database collation must be case-sensitive and accent-sensitive. It is Chinese_PRC_CI_AS but should be Chinese_PRC_CS_AS.

2. 问题分析
SonarQube要求数据库排序规则case-sensitiveaccent-sensitive,按照要求修改数据库(或者在创建时注意)即可。

3. 解决办法

ALTER DATABASE sonar COLLATE Chinese_PRC_CS_AS

success

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com