最近需要用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,点击一键安装就可以了,这里就不赘述了~
:)
版权归原作者 哥白尼009 所有, 如有侵权,请联系我们删除。