当前位置:网站首页>IDEA02:配置SQL Server2019数据库
IDEA02:配置SQL Server2019数据库
2022-08-04 01:05:00 【Jeremy_权】
写在前面
主要是记录一下如何配置SQL Server2019的过程。
一、下载并安装SQL Server2019
主要参考了博文:SQLServer2019安装(Windows)。
- 下载的官网在:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads。
- 可以选择下载免费的开发者版本(Developer 版)。
- SQL Server2019的可视化管理软件可以使用SQL Server Management Studio,下载的官网在:https://docs.microsoft.com/zh-cn/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15。
- SQL Server 2019配置管理器可以用于配置端口、启动/重启SQL Server服务等功能。
二、下载JDBC依赖包
- 可以参考官方的文档:https://docs.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15。
- 如果使用Maven项目管理的话直接用配置文件配置即可。
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>10.2.0.jre8</version>
</dependency>
- 注意
version,如果是JAVA8版本的话,要用jre8后缀的jar包。

三、创建数据库和表
这里主要是介绍如何使用SQL Server Management Studio进行创建。
- 在左边数据库上右键新建数据库即可创建新数据库。
- 在新建的数据库下的表上右键新建表即可进入创建表的窗口。

- 常用的数据类型可以参考博客:SQL Server 常用数据类型说明。
- 填完要在表上创建的列之后,直接保存当前窗口即可创建新表。
- 如果修改了创建表的窗口中的值,直接保存即可修改已经创建了的表。但如果某些改动需要删除原表重新创建(如修改了某些列的数据类型),将不被允许修改。
- 点击工具->选项,在设计器中取消勾选阻止保存要求重新创建表的更改即可。
- 但要特别注意,如果是表已经有大量的数据了,重新创建表是相当危险的操作,因为数据将全部丢失。

四、用JDBC测试连接数据库
一个测试能否正确连接数据库的代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
public class DB_Test {
private static Connection dbConn = null;
public static void main(String[] args) {
String dbURL = "jdbc:sqlserver://localhost:1433;"
+ "DatabaseName=Test;"; // Test为数据库名称
try {
//1.加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("加载驱动成功!");
//2.连接
dbConn = DriverManager.getConnection(dbURL, "sa", "123456"); // sa管理员身份
System.out.println("连接数据库成功!");
String sql="select * from Test"; // 执行的语句,Test为数据库表
PreparedStatement statement=null;
statement=dbConn.prepareStatement(sql);
ResultSet res=null;
res=statement.executeQuery();
while(res.next()){
String title=res.getString("id"); // 或者属性列对应值
System.out.println(title);
}
}catch(Exception e) {
e.printStackTrace();
System.out.println("连接数据库失败!");
}
}
}
五、一些错误
错误1:com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target”。
- 场景:在使用JDBC连接数据库的时候出现。
- 原因:应该是数字证书的问题。
- 解决方法:
- 可以尝试添加数字证书,参考:https://apisero.com/how-to-resolve-pkix-path-building-failed-unable-to-find-valid-certification-path-to-requested-target-issue/。
- 补充的可以看:https://blog.packagecloud.io/solve-pkix-path-building-failed/。
- 但是我配置了数字证书之后还是不行,不太清楚是哪里的问题。
- 官方的配置过程是这个:https://docs.microsoft.com/zh-cn/sql/connect/jdbc/configuring-the-client-for-ssl-encryption?view=sql-server-ver16。但我没有进一步配置了,因为比较麻烦。
- 另一个简单粗暴的方法是直接信任这个连接,参考:https://docs.microsoft.com/zh-cn/sql/connect/jdbc/connecting-with-ssl-encryption?view=sql-server-ver16。
- 然后配置连接的时候按照下面的写法:
// 适用于 SQL Server 的 Microsoft JDBC 驱动程序不会验证 SQL Server TLS 证书
String dbURL = "jdbc:sqlserver://localhost:1433;"
+ "DatabaseName=Test;"
+ "encrypt=true;trustServerCertificate=true";
边栏推荐
- 面试必问的HashCode技术内幕
- typescript58 - generic classes
- Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
- C语言 函数递归
- C 学生管理系统_分析
- 优秀的测试/开发程序员,是怎样修炼的?步步为营地去执行......
- Google Earth Engine - Calculates the effective width of rivers using publicly available river data
- nodejs install multi-version version switching
- 互斥锁、读写锁、自旋锁,以及原子操作指令xaddl、cmpxchg的使用场景剖析
- pygame 中的transform模块
猜你喜欢

Array_Sliding window | leecode brushing notes

LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之三:两次优化

手撕Nacos源码,今日撕服务端源码

阿里云技术专家邓青琳:云上跨可用区容灾和异地多活最佳实践
一个项目的整体测试流程有哪几个阶段?测试方法有哪些?

【性能优化】MySQL常用慢查询分析工具

typescript48 - type compatibility between functions

WMS仓储管理系统能解决电子行业哪些仓库管理问题

Tanabata festival coming, VR panoramic look god assists for you

虚拟机CentOS7中无图形界面安装Oracle
随机推荐
Installation and configuration of nodejs+npm
特征值与特征向量
redis中常见的问题(缓存穿透,缓存雪崩,缓存击穿,redis淘汰策略)
Electronics manufacturing enterprise deployment WMS what are the benefits of warehouse management system
VR panorama shooting online exhibition hall, 3D panorama brings you an immersive experience
js函数防抖和函数节流及其使用场景
C语言 函数递归
nodejs installation and environment configuration
Demand analysis of MES management system in electronic assembly industry
一文参透分布式存储系统Ceph的架构设计、集群搭建(手把手)
.NET Static Code Weaving - Rougamo Release 1.1.0
GNSS【0】- 专题
BGP实验(含MPLS)
KunlunBase 1.0 is released!
FeatureNotFound( bs4.FeatureNotFound: Couldn‘t find a tree builder with the features you requested:
typescript48-函数之间的类型兼容性
谁说程序员不懂浪漫,表白代码来啦~
Apache DolphinScheduler新一代分布式工作流任务调度平台实战-中
typescript53 - generic constraints
ENS域名注册量创历史新高 逆市增长之势?光环之下存在炒作风险