IDEA连接SQL server数据库(保姆级详细且必坑,包括防火墙、 SQL Server 网络配置等问题解决)

最近需要用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,点击一键安装就可以了,这里就不赘述了~

:)

相关推荐
中屹指纹浏览器svip7 小时前
只用指纹浏览器,不搭配IP可以吗?
网络
jimmyleeee7 小时前
Agent安全之八:OWASP ASI08 级联失效------当每一个 Agent 都“正确”,系统却走向灾难
网络·安全·web安全
缓慢更新7 小时前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
AI小百科7 小时前
向量数据库:AI 的「记忆仓库」是怎么工作的
数据库·人工智能·oracle
叼烟扛炮7 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
煎饼皮皮侠7 小时前
【设计】设计一个Web版数据库管理平台(之七):多数据库类型易扩展
数据库
Nturmoils8 小时前
MongoDB迁移之后,Spring Data 和 Hibernate 各自接哪类请求
数据库
画中有画8 小时前
在自动化脚本中操作本地数据库
数据库·oracle·自动化
叼烟扛炮8 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
Decay__8 小时前
09_MySQL 闪回与时间点恢复 —— binlog 回放、mysqlbinlog、PITR 与误删恢复
运维·数据库·sql·mysql·架构