SQL Server连接
# 首先使用navcat连接SQL Server
# 安装驱动
navcat本身不能连接SQL Server,但是navcat提供了连接的Sqlserver的驱动必须先安装驱动才可以使用navcat连接SQL Server。
在navicat目录下找到对应驱动,点击安装即可, 安装过程中设置为全部允许安装
# 测试连接
然后去连接你的数据库就可以了
# 其他问题
其他问题: Could not open a connection to SQL Server [53]
客户端是在尝试用named pipe方式访问数据库,需要用tcp的方式
先检查确认侦听的tcp端口,客户端上执行telnet ip port 确认连通性OK
客户端上CMD界面执行一下cliconfg,会弹出如下窗口把TCP/IP加到启用列表中,然后应用并确定。
# springboot连接SQL Server
# 1.maven配置驱动连接
<!-- SqlServer 驱动 -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>8.2.1.jre11</version>
</dependency>
2
3
4
5
6
# 2. jdbc连接数据库
import java.sql.Connection;
import java.sql.DriverManager;
public class HelloWorld {
public static void main(String[] args) {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=Student";//数据库名称
String userName = "sa"; //数据库账号
String userPwd = "123"; //数据库密码
try {
Class.forName(driverName);
Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("数据库连接成功!");
} catch (Exception e) {
e.printStackTrace();
System.out.print("数据库连接失败!");
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接
# 1.问题描述:
在搭建完项目之后,然后使用vpn能连接上目标数据库,并没有发生错误。但是当将服务部署到服务器上之后就发生了如上的错误。
# 2.问题分析
1.首先看问题描述,发现是驱动加密与SqlServer出现了问题。说明可能是SqlServer数据库驱动与对方的数据库版本不一致导致的。但是根据我实际操作在我本地使用该驱动并没有出现报错,部署到服务器上才出现报错,这说明并不是数据库驱动和数据库版本不一致导致的。
2.后面去百度发现SqlServer数据库驱动必须和jdk的版本对应上,然后我在本地的jdk和服务器上的jdk都是同样的1.8版本,但是具体的小版本不一样。这个问题排除。
3. 在分析这个报错,发现是TLS10这个协议无法向上兼容TLS12这个协议的问题。
# 3.问题确定
TLS10这个协议无法向上兼容TLS12这个协议。
# 4.问题解决方案
注意这里是linux下的解决具体方案,在window下自己去找jdk\jre\lib\security这个目录。
1.找到自己的jdk安装目录命令。
echo $JAVA_HOME
2.在java.security文档中搜索jdk.tls.disabledAlgorithms
删除标红的内容(TLSv1、TLSv1.1、3DES_EDE_CBC)
3.重启服务
重启服务就解决报错了。