当前位置: 首页 > news >正文

【Kingbase FlySync】界面化管控平台:2.配置数据库同步之KES>KES

【Kingbase FlySync】界面化管控平台:3.配置数据库同步之KES->KES

  • 部署KES数据库到KES数据库同步服务
    • 1.登录KFS管理平台
    • 2.开始配置数据节点信息
      • (1)配置node1数据节点
      • (2)配置node2数据节点
    • 3.KFS拓扑图配置
    • 4.开始部署
    • 5.启动同步程序并查验是否运行正常
  • 测试同步
    • 1.从node1数据库中导出exam模式并拷贝到node2 /tmp目录下
    • 2.将node1传过来的数据导入到node2数据库中
    • 3.修改拓扑图配置实现增量搬迁同步
      • (1).修改node1节点配置
      • (2).修改node2节点配置
      • (3).更新同步配置
      • (4).启动同步节点
      • (5).更新同步配置
  • 数据校验
    • 1.准备数据
    • 2.校验配置
    • 3.新建校验任务
    • 4.新建调度任务
    • 5.执行校验
  • 数据自动修复
    • 1.新建数据自动修复任务
    • 2.再次执行数据校验任务
    • 3.查询修复结果
  • 配置告警邮件
    • 1.告警邮箱配置
    • 2.配置告警管理
    • 3.错误问题
      • (1).邮件发送提示失败
      • (2).配置告警提示失败
    • 4.邮件告警展示

部署KES数据库到KES数据库同步服务

1.登录KFS管理平台

账号密码
adminadmin
user_0017Kfs123#$

在这里插入图片描述
在这里插入图片描述

2.开始配置数据节点信息

  • 【部署管理】>【节点管理】>【新建】> 【填入相关信息】 >【保存】
  • 安装目录:/home/flysync/replicator

(1)配置node1数据节点

在这里插入图片描述

点击保存

(2)配置node2数据节点

在这里插入图片描述
点击保存

在这里插入图片描述

3.KFS拓扑图配置

【部署管理】>【拓扑配置】
在这里插入图片描述

4.开始部署

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

5.启动同步程序并查验是否运行正常

【部署管理】> 【节点管理】>【启动】。
在这里插入图片描述
在这里插入图片描述

查看服务状态

【部署管理】> 【服务管理】

在这里插入图片描述

测试同步

1.从node1数据库中导出exam模式并拷贝到node2 /tmp目录下

[root@node1 ~]# su - kingbase
上一次登录:五 1117 18:13:59 CST 2023pts/1 上
[kingbase@node1 ~]$ cd /KingbaseES/V8/Server/bin/
[kingbase@node1 bin]$ ./sys_dump -U flysync -d test -f /tmp/exam.dmp -Fc -n exam
[kingbase@node1 bin]$ scp /tmp/exam.dmp node2:/tmp
kingbase@node2's password: 
exam.dmp                                                                                                                                                                                                       100%   16KB  16.3KB/s   00:00    
[kingbase@node1 bin]$ 

2.将node1传过来的数据导入到node2数据库中

[root@node2 ~]# su - kingbase
上一次登录:五 1117 15:54:16 CST 2023
[kingbase@node2 ~]$ cd /KingbaseES/V8/Server/bin/
[kingbase@node2 bin]$ ./ksql -Usystem test -c 'create schema exam0017'
CREATE SCHEMA
[kingbase@node2 bin]$ ./sys_restore -Usystem /tmp/exam.dmp -d test -Fc -g exam -G exam0017
[kingbase@node2 bin]$ ksql -U flysync -d test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# ALTER TABLE exam01.course RENAME TO course0017;
test=# \d exam0017.*索引 "exam0017.cno_pk"栏位 |     类型     | 键值? | 定义 
------+--------------+-------+------cno  | numeric(2,0) || cno
主键(PK),btree, 给数据表 "exam0017.course"数据表 "exam0017.course"栏位    |            类型            | 校对规则 |  可空的  | 预设 
-----------+----------------------------+----------+----------+------cno       | numeric(2,0)               |          | not null | cname     | character varying(30 char) |          | not null | clevel    | character varying(13 char) |          |          | pass_mark | numeric(5,0)               |          | not null | 
索引:"cno_pk" PRIMARY KEY, btree (cno)
检查约束限制"pass_mark_ck" CHECK (pass_mark > 0::numeric)
由引用:TABLE "exam0017.score" CONSTRAINT "cno_fk" FOREIGN KEY (cno) REFERENCES exam0017.course(cno)索引 "exam0017.id_no_uk"栏位  |            类型            | 键值? | 定义  
-------+----------------------------+-------+-------id_no | character varying(18 char) || id_no
唯一的,btree, 给数据表 "exam0017.student"索引 "exam0017.ino_pk"栏位 |     类型     | 键值? | 定义 
------+--------------+-------+------ino  | numeric(3,0) || ino
主键(PK),btree, 给数据表 "exam0017.instructor"数据表 "exam0017.instructor"栏位  |            类型            | 校对规则 |  可空的  | 预设 
-------+----------------------------+----------+----------+------ino   | numeric(3,0)               |          | not null | iname | character varying(20 char) |          | not null | title | character varying(30 char) |          |          | 
索引:"ino_pk" PRIMARY KEY, btree (ino)
由引用:TABLE "exam0017.score" CONSTRAINT "ino_fk" FOREIGN KEY (ino) REFERENCES exam0017.instructor(ino)数据表 "exam0017.instructor_history"栏位   |            类型            | 校对规则 |  可空的  | 预设 
----------+----------------------------+----------+----------+------ino      | numeric(3,0)               |          |          | iname    | character varying(20 char) |          | not null | title    | character varying(30 char) |          |          | res_date | date                       |          |          | 索引 "exam0017.phone_uk"栏位  |     类型      | 键值? | 定义  
-------+---------------+-------+-------phone | numeric(11,0) || phone
唯一的,btree, 给数据表 "exam0017.student"数据表 "exam0017.score0017"栏位     |     类型     | 校对规则 |  可空的  | 预设 
-------------+--------------+----------+----------+------sno         | numeric(4,0) |          | not null | cno         | numeric(2,0) |          | not null | ino         | numeric(3,0) |          | not null | exam_date   | date         |          | not null | score       | numeric(5,0) |          |          | certificate | boolean      |          |          | 
索引:"score_pk" PRIMARY KEY, btree (cno, sno, ino, exam_date)
检查约束限制"score_ck" CHECK (score >= 0::numeric)
外部键(FK)限制:"cno_fk" FOREIGN KEY (cno) REFERENCES exam0017.course(cno)"ino_fk" FOREIGN KEY (ino) REFERENCES exam0017.instructor(ino)"sno_fk" FOREIGN KEY (sno) REFERENCES exam0017.student(sno)
触发器:t_update_score AFTER INSERT ON exam0017.score FOR EACH ROW 
BeginUPDATE exam0017.score t SET t.certificate=0 WHERE t.score<70;
END索引 "exam0017.score_pk"栏位    |     类型     | 键值? |   定义    
-----------+--------------+-------+-----------cno       | numeric(2,0) || cnosno       | numeric(4,0) || snoino       | numeric(3,0) || inoexam_date | date         || exam_date
主键(PK),btree, 给数据表 "exam0017.score"序列数 "exam0017.seq_student_sno"类型  | 起始值 | 最小值 | 最大值 | 增量 | 循环? | 缓存 
--------+--------+--------+--------+------+-------+------bigint |   1001 |      1 |   9999 |    1 | no    |    1索引 "exam0017.sno_cno_pk"栏位 |     类型     | 键值? | 定义 
------+--------------+-------+------sno  | numeric(4,0) || sno
主键(PK),btree, 给数据表 "exam0017.student"数据表 "exam0017.student"栏位   |            类型            | 校对规则 |  可空的  |                     预设                      
----------+----------------------------+----------+----------+-----------------------------------------------sno      | numeric(4,0)               |          | not null | nextval('exam0017.seq_student_sno'::regclass)sname    | character varying(20 char) |          |          | gender   | character varying(2 char)  |          |          | phone    | numeric(11,0)              |          | not null | id_no    | character varying(18 char) |          |          | city     | character varying(20 char) |          |          | reg_date | date                       |          |          | job      | character varying(30 char) |          |          | company  | character varying(30 char) |          |          | 
索引:"sno_cno_pk" PRIMARY KEY, btree (sno)"id_no_uk" UNIQUE CONSTRAINT, btree (id_no)"phone_uk" UNIQUE CONSTRAINT, btree (phone)
检查约束限制"gender_ck" CHECK (gender::text = 'm'::text OR gender::text = 'f'::text)
由引用:TABLE "exam0017.score" CONSTRAINT "sno_fk" FOREIGN KEY (sno) REFERENCES exam0017.student(sno)视图 "exam0017.v_score_information"栏位  |            类型            | 校对规则 | 可空的 | 预设 
-------+----------------------------+----------+--------+------sname | character varying(20 char) |          |        | iname | character varying(20 char) |          |        | cname | character varying(30 char) |          |        | score | numeric(5,0)               |          |        | test=# SELECT relkind,relname FROM sys_class WHERE relnamespace = (select oid from sys_namespace where nspname='exam0017') ;relkind |       relname       
---------+---------------------r       | courser       | instructor_historyr       | studentS       | seq_student_snov       | v_score_informationi       | cno_pki       | id_no_uki       | ino_pki       | phone_uki       | score_pki       | sno_cno_pkr       | scorer       | instructor
(13 行记录)
test=# 
  • 现在已将表结构和数据都存到了node2中

3.修改拓扑图配置实现增量搬迁同步

(1).修改node1节点配置

【部署管理】>【拓扑管理】 >【双击node1节点】 >【高级属性】>【过滤器】>【新增】 >【replicate】 >【设置】 >【填入相关信息】。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(2).修改node2节点配置

【部署管理】>【拓扑管理】 >【双击node2节点】 >【高级属性】>【过滤器】>【新增】 >【replicate】 >【设置】 >【填入相关信息】。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3).更新同步配置

然后点击【安装/更新】按钮,更新配置

在这里插入图片描述
在这里插入图片描述

点击确定

在这里插入图片描述

耐心等待直到出现安装完成字样

在这里插入图片描述

(4).启动同步节点

在这里插入图片描述

点击停止后再次启动启动

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(5).更新同步配置

在node1数据库exam模式的course和instructor表下插入数据

[kingbase@node1 bin]$ ./ksql -U flysync -dtest
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# INSERT INTO exam.course VALUES(40,'KFS','middle',80);
INSERT 0 1
test=# INSERT INTO exam.instructor VALUES(108,'fenxiaoyue','Intermediate Instructor');
INSERT 0 1
test=# \q
[kingbase@node1 bin]$ 

在node2数据库exam模式下查询course和instructor表新增的数据

[kingbase@node2 bin]$ ksql -U flysync -d test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# SELECT * FROM exam0017.course0017 WHERE cno=40;    cno | cname | clevel | pass_mark 
-----+-------+--------+-----------40 | KFS   | middle |        80
(1 行记录)test=# SELECT * FROM exam0017.instructor WHERE ino=108;ino |   iname    |          title          
-----+------------+-------------------------108 | fenxiaoyue | Intermediate Instructor
(1 行记录)test=# 

数据校验

1.准备数据

在node2(target端)误操作制造主备两端数据不一致。

[kingbase@node2 bin]$ ksql -U flysync -d test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# UPDATE exam0017.student SET phone=15723449970 WHERE sno=1008;
UPDATE 1
test=# DELETE FROM exam0017.student WHERE sno=1006;
DELETE 1
test=# INSERT INTO exam0017.student(sno,sname,gender,phone) VALUES('1009','Huang Tao','m',13812447980) ;
INSERT 0 1
test=# \q
[kingbase@node2 bin]$ 

2.校验配置

【数据校验】>【校验配置】>【数据校验及数据修复配置】

在这里插入图片描述

  • 参数配置如下
  1. 任务并行数 2(不要超出物理CPU核数)。
  2. 校验核心线程数 5。
  3. 校验同步大小 50000。
  4. 修复批量大小 10000。
  5. 校验同步记录日志 开启。
  6. 校验结果自动清除 开启,设置为3天。
  7. 是否校验大对象 开启。
  8. 大对象校验阈值 5000000
  9. 同步跳过超阈值数据 关闭。
  10. 刷新分片设置 关闭。

3.新建校验任务

【数据校验】 >【任务配置】 >【新建】。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
源配置:

选择exam模式下的所有表

在这里插入图片描述

目标配置:

选择exam0017模式下的所有表

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.新建调度任务

【调度管理】> 【新建调度】

在这里插入图片描述
在这里插入图片描述

5.执行校验

执行第一次校验

在这里插入图片描述
在这里插入图片描述
点击查看详情查看校验结果
在这里插入图片描述

数据自动修复

1.新建数据自动修复任务

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.再次执行数据校验任务

在这里插入图片描述

3.查询修复结果

在这里插入图片描述
在这里插入图片描述

配置告警邮件

1.告警邮箱配置

在这里插入图片描述
在这里插入图片描述

2.配置告警管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击测试
在这里插入图片描述
收到邮件点击保存

3.错误问题

(1).邮件发送提示失败

  1. 检查你的虚拟机是否网络畅通
  2. 检查你的邮箱smtp是否开通,授权码填写在密码栏

(2).配置告警提示失败

检查你新增加的用户邮箱是否和告警配置的一致
在这里插入图片描述

4.邮件告警展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

【Kingbase FlySync】界面化管控平台:2.配置数据库同步之KES>KES

【Kingbase FlySync】界面化管控平台:3.配置数据库同步之KES->KES 部署KES数据库到KES数据库同步服务1.登录KFS管理平台2.开始配置数据节点信息(1)配置node1数据节点(2)配置node2数据节点 3.KFS拓扑图配置4.开始部署5.启动同步程序并查验是否运行正常 测试同步1.从node1数据…...

企业计算机服务器中了mallox勒索病毒怎么解决,勒索病毒解密文件恢复

随着科技技术的不断发展&#xff0c;网络技术得到了快速提升&#xff0c;但网络安全威胁也不断增加&#xff0c;近期&#xff0c;云天数据恢复中心陆续接到很多企业的求助信息&#xff0c;企业的计算机服务器遭到了mallox勒索病毒攻击&#xff0c;导致企业的所有业务中断&#…...

Sonar生成PDF错误Can‘t get Compute Engine task status.Retry..... HTTP error: 401

报错及修改&#xff1a; 报错&#xff1a;INFO: Can’t get Compute Engine task status.Retry… org.sonarqube.ws.connectors.ConnectionException: HTTP error: 401, msg: , query: org.apache.commons.httpclient.methods.GetMethod7a021f49 ERROR: Problem generating PD…...

storage和正则表达式

一、Storage 1.认识Storage WebStorage主要提供了一种机制&#xff0c;可以让浏览器提供一种比cookie更直观的key、value存储方式&#xff1a; localStorage&#xff1a;本地存储&#xff0c;提供的是一种永久性的存储方法&#xff0c;在关闭掉网页重新打开时&#xff0c;存…...

【数据结构】图的广度优先遍历

一.广度优先遍历的基本思想 &#xff08;1&#xff09;访问顶点v&#xff1b; &#xff08;2&#xff09;依次访问v的各个未被访问的邻接点v1&#xff0c;v2&#xff0c;v3……&#xff0c;vk&#xff1b; &#xff08;3&#xff09;分别从v1&#xff0c;v2&#xff0c;v3……...

AM@函数展开成幂级数@间接法@常用麦克劳林幂级数展开公式

文章目录 间接法推导幂级数展开常用麦克劳林幂级数展开公式应用例例例 间接法推导幂级数展开 已知函数的幂级数展开公式间接推导其他函数幂级数 使用原始的推导公式推导函数的幂级数展开是繁琐不便的,需要分别计算各项系数 a n f ( n ) ( 0 ) n ! a_{n}\frac{f^{(n)}(0)}{n!}…...

LeetCode994.腐烂的橘子

看完题我觉得这不是和上一道岛屿的题一样简单嘛&#xff0c;然后写了将近2个小时才写出来&#xff0c;我的思路就是&#xff0c;用check()先对grid检查一下&#xff0c;是否有以下情况&#xff1a; &#xff08;如果有1的周围都是空&#xff0c;则这个位置用不腐烂&#xff0c;…...

【开源】基于Vue和SpringBoot的康复中心管理系统

项目编号&#xff1a; S 056 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S056&#xff0c;文末获取源码。} 项目编号&#xff1a;S056&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 普通用户模块2.2 护工模块2.3 管理员…...

【音视频基础】AVI文件格式

AVI文件采用的是RIFF文件结构方式。波形音频wave&#xff0c;MIDI和数字视频AVI都采用这种格式存储。 AVI文件的整体结构如下图所示 构造RIFF文件的基本单元叫做数据块&#xff08;Chunk&#xff09;&#xff0c;每个数据块包含3个部分 4字节的数据块标记&#xff08;或者叫…...

图书馆整理I(从尾到头打印列表),剑指offer,力扣

目录 题目地址&#xff1a; 我们直接看题解吧&#xff1a; 解题方法&#xff1a; 难度分析&#xff1a; 审题目事例提示&#xff1a; 解题思路(辅助栈)&#xff1a; 代码&#xff08;递归&#xff09;&#xff1a; 代码&#xff08;列表插入&#xff09;&#xff1a; 相似题目对…...

C++编写的多线程自动爬虫程序

目录 引言 一、程序的设计 二、程序的实现 三、程序的测试 四、优化与改进 五、代码示例 总结 引言 随着互联网的快速发展&#xff0c;网络爬虫程序已经成为数据采集、信息处理的重要工具。C作为一种高效的编程语言&#xff0c;具有高效的并发处理能力和丰富的网络编程…...

SMB信息泄露的利用

一、背景 今天分享SMB信息泄露&#xff0c;SMB&#xff08;Server Message Block&#xff09;网络通信协议&#xff0c;早些时候被用于Web链接和客户端与服务器之间的信息通信&#xff0c;现在大部分Web页面使用HTTP协议&#xff0c;在web领域应用较少。另一方面SMB协议还是被…...

QT自定义信号,信号emit,信号参数注册

qt如何自定义信号 使用signals声明返回值是void在需要发送信号的地方使用 emit 信号名字(参数)进行发送 在需要链接的地方使用connect进行链接 ct进行链接...

06.webpack性能优化--构建速度

优化babel-loaderhappyPackIgnorePluginparalleUglifyPluginnoParse自动刷新 1 happypack多进程打包 js单线程&#xff0c;开启多进程打包提高构建速度&#xff08;特别是多核CPU&#xff09; const HappyPack require(happypack)module.exports smart(webpackCommonConf,…...

11-15 周三 softmax 回归学习

11-15 周三 softmax 回归学习 时间版本修改人描述2023年11月15日11:17:27V0.1宋全恒新建文档 简介 softmax分享可以参考什么是softmax 回归估计一个连续值&#xff0c;分类预测一个离散类别。 恶意软件的判断 回归和分类 分类可以认为从回归的单输出变成多输出 B站学习 softm…...

React新手必懂的知识点

react思想&#xff1a;组件化开发 React 的核心概念是组件化开发&#xff0c;将用户界面拆分成独立的可复用组件。学习如何创建和使用 React 组件&#xff0c;以及组件之间的数据传递和通信是非常重要的。 React的思想就是拆分组件与使用组件。 import React from react;// 定…...

es为什么这么快

es为什么这么快的方式 es的基于Lucene开源搜索引擎&#xff0c;负责文件存储和搜索&#xff0c;支持http请求&#xff0c;以json形式展示 这样介绍你有可能有点迷糊我们详细解释 es 使用的倒排索引的方式&#xff0c;进行数据存储方式&#xff0c;给每一个字段创建索引&…...

Pandas分组聚合_Python数据分析与可视化

Pandas分组聚合 分组单列和多列分组Series 系列分组通过数据类型或者字典分组获取单个分组对分组进行迭代 聚合应用单个聚合函数应用多个聚合函数自定义函数传入 agg() 中对不同的列使用不同的聚合函数 分组聚合的流程主要有三步&#xff1a; 分割步骤将 DataFrame 按照指定的…...

VMware17虚拟机Linux安装教程(详解附图,带VMware Workstation 17 Pro安装)

一、安装 VMware 附官方下载链接&#xff08;VM 17 pro&#xff09;&#xff1a;https://download3.vmware.com/software/WKST-1701-WIN/VMware-workstation-full-17.0.1-21139696.exe 打开下载好的VMware Workstation 17 Pro安装包&#xff1b; 点击下一步&#xff1b; 勾选我…...

基于SDN技术构建多平面业务承载网络

随着企业数字化的浪潮席卷各个行业&#xff0c;传统网络架构面临着更为复杂和多样化的挑战。企业正在寻找一种全面适应数字化需求的网络解决方案。随着软件定义网络&#xff08;SDN&#xff09;的发展&#xff0c;“多业务SDN一张网”解决方案为企业提供了一种全新的网络架构&a…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...

如何配置一个sql server使得其它用户可以通过excel odbc获取数据

要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据&#xff0c;你需要完成以下配置步骤&#xff1a; ✅ 一、在 SQL Server 端配置&#xff08;服务器设置&#xff09; 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到&#xff1a;SQL Server 网络配…...

结构化文件管理实战:实现目录自动创建与归类

手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题&#xff0c;进而引发后续程序异常。使用工具进行标准化操作&#xff0c;能有效降低出错概率。 需要快速整理大量文件的技术用户而言&#xff0c;这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB&#xff0c;…...