一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。
熟悉、梳理、总结下Microsoft SQL Server 2022关系数据库相关知识体系
- kettle访问SQL Server数据库并处理数据至execl文件文章目录索引如下所示:
1.环境搭建、配置
- 1.0 实验环境信息
Windows 10
CentOS 7.1(虚拟机)
Docker version 26.0.2
Dbeaver
Kettle 8.2
Microsoft SQL Server 2022
- 1.1 拉取SQL Server镜像数据库
- 如果遇到拉取镜像很慢的问题,可以参考 https://kngines.blog.csdn.net/article/details/138142888
sudo docker pull mcr.microsoft.com/mssql/server:2022-latest
- 1.2 查看镜像、启动容器并查看启动结果
docker imagesdocker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Y.sa123456" -p 1433:1433 --name mssql2022 -d mcr.microsoft.com/mssql/server:2022-latestdocker ps -a
- 1.3 容器运行结果
2.SQL Server数据库链接测试
- 2.1 DBeaver连接信息配置
- 2.2 SQL 建表语句测试
-- 创建数据库并指定默认字符集 create database Youli collate chinese_prc_ci_as;-- 使用新建数据库 use Youli;-- 创建测试表 create table youli_testtable (id int primary key, -- 定义id为主键name nvarchar(50), -- 定义name为可变长度字符串字段,最大长度50birthday date -- 定义birthday为日期类型字段 );-- 插入一些示例数据 insert into youli_testtable (id, name, birthday) values (1, '张三', '1990-01-01'); insert into youli_testtable (id, name, birthday) values (2, '李四', '1991-02-01'); insert into youli_testtable (id, name, birthday) values (3, '王五', '1992-03-01'); insert into youli_testtable (id, name, birthday) values (4, '张三', '1990-01-01'); insert into youli_testtable (id, name, birthday) values (5, '李四', '1991-02-01'); insert into youli_testtable (id, name, birthday) values (6, '王五', '1992-03-01');
- 2.3 数据库存储数据中文乱码问题处理
- 通过修改数据库数据集编码解决。
-- 创建数据库并指定默认字符集 create database Youli collate chinese_prc_ci_as; -- 修改数据库字符集 alter database Youli collate chinese_prc_ci_as;
3.kettle流程任务配置、效果验证
- 3.1 数据表输入访问信息配置、测试
- 3.1.1 获取SQL查询语句详情选择(表,默认的是当前链接数据库下面的数据表,也可选择其他模式下的数据表)
- 3.1.2 配置好信息后,进行数据预览查看
- 3.1.1 获取SQL查询语句详情选择(表,默认的是当前链接数据库下面的数据表,也可选择其他模式下的数据表)
- 3.2 kettle任务流程测试执行结果
- 3.2.1 数据输出结果及详情
- 3.2.1 数据输出结果及详情
4.其他参考
- https://zhuanlan.zhihu.com/p/683823756