最近需要用IDEA完成课设,同时也需要用到SQL Server实现数据持久化,而刚开始连接数据库时,即使成功用SQL Server身份验证方式连接后,在IDEA里还是不能与SQL成功连接,这里就很可能是防火墙的问题,或者是SQL Server 配置等问题,这里分享idea连接SQL server数据库的一篇经验贴,希望有这方面需要或问题的小伙伴能少走一些弯路,同时也希望大家批评指正,相互学习~
:)
0、开发环境说明

SQL Server 16.0.1000.6

IntelliJ IDEA 2021.1.1
1、启用SQL sever身份验证
打开SQL server数据库,
首先先连接服务器实例,第一次连接可以选择Windows 身份验证 (后面可更改)

右键点击服务器,选择 属性

选择 "安全性 "页签,选择 SQL Server 和 Windows 身份验证模式 。
确认更改,重启 SQL Server 实例。

下一步就可以设置SQL server 的身份验证密码了
打开 SQL Server Management Studio (SSMS),展开 安全性 文件夹,展开 登录名 文件夹,
右键点击 'sa' 用户,选择 属性 ,选择SQL Server身份验证,输入密码,检查配置,然后点击确定

这时候重新登录,用SQL Server身份验证方式,输入用户名密码,如果成功登录就完成了

报错情况 (没报错可以跳过这部分)
有部分人到里这发现还是不能用SQL Server身份验证方式连接,比如说题主这时候。。。
这时就要检查是不是下面的地方没设置好:用户名或密码错误,
SQL Server 身份验证模式:确保 SQL Server 处于混合模式
用户权限:确认 'sa' 用户在 SQL Server 上具有足够的权限。
服务状态:确认 SQL Server 实例正在运行。
当然,还有一种更直接的方法,我们可以自己重新新建登录名
右击 sa , 点击新建登录名,

设置常规设置,服务器角色,用户映射,状态,然后点击确定(一定要确认用户具有足够的权限!!!)



这样就可以 成功用SQL Server身份验证方式连接

2、在 Windows 防火墙中允许 SQL Server 端口 1433
有很多人在弄完上面成功用SQL Server身份验证方式连接后,在IDEA里还是不能与SQL成功连接,这里就很可能是防火墙 的问题,
有遇到这种问题的可以看下这部分内容
1、打开防火墙设置:
按 Win + R,输入 wf.msc,然后按 Enter 打开 Windows 防火墙高级安全性控制台。


2、创建入站规则:
在左侧菜单中选择 入站规则。
在右侧菜单中选择 新建规则。
选择 端口,然后点击 下一步。
选择 TCP 并指定特定本地端口 1433,然后点击 下一步。
选择 允许连接,然后点击 下一步。
确保选择 域、专用 和 公用,然后点击 下一步。
为该规则命名,例如 SQL Server TCP Port 1433,然后点击 完成。



3、创建出站规则:
在左侧菜单中选择 出站规则。
在右侧菜单中选择 新建规则。
重复上述步骤,确保出站连接也允许 TCP 端口 1433。
4、检查防火墙规则
确认已经创建的规则生效。
打开 控制面板 ,选择 系统和安全 。
点击 Windows Defender 防火墙 。
选择 高级设置 。
在左侧菜单中选择 入站规则 和 出站规则,检查你刚刚创建的规则。


像这个样子就说明已经可以了
3、检查 SQL Server 配置
目的是确保 SQL Server 配置正确,监听 TCP 端口 1433
1、打开 SQL Server 配置管理器
右键此电脑图标,点击管理

2、启用 TCP/IP
展开 SQL Server 网络配置。
选择 SQL Server 网络配置(32 位) 或 SQL Server 网络配置(64 位)。
点击 SQL Server 网络协议,确保 TCP/IP 协议已启用。
如果 TCP/IP 协议未启用,右键点击 TCP/IP,选择 启用

3、配置 TCP 端口
右键点击 TCP/IP,选择 属性。
在 IP 地址 页签,向下滚动到 IPAll 部分 。
确保 TCP 动态端口 是空的,TCP 端口 设置为 1433 。
点击 确定,然后重启 SQL Server 服务。

4、重启 SQL Server 服务
打开 服务 管理器:
按 Win + R,输入 services.msc,然后按 Enter。

找到 SQL Server 服务,右键点击并选择 重启。

完成这些步骤后,你的 SQL Server 应该能够通过 TCP 端口 1433 接受连接。
4、IDEA连接SQL Server数据库
连接SQL Server
终于到了最后一部分啦!😃
首先需要在IDEA里面找到DATABASE ,然后选择 SQL Server


然后,填上用户名,密码,还有端口号1433 ,然后可以指定连接的数据库

点击测试连接Test Connection, Succeeded表明测试连接成功

点击OK,Log日志显示Connected,连接成功!!!

报错情况
08S01\] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:"PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"。 ClientConnectionId:a9d1ee5b-145f-4a8b-bf6c-1a78c2d465fb sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target. **这个错误是因为 JDBC 驱动程序无法找到有效的 SSL 证书路径来建立与 SQL Server 的安全连接** **解决这个很简单,只需要更改一下SSL证书,换成旧点的版本就好** 还是刚才的界面,点Drivers,找到SQL Server更改一下版本就好了  当然这个过程还要下载JDBC包,不过IDEA会后提示你Download,点击一键安装就可以了,这里就不赘述了\~ :)