ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

KingbaseES KSQL Developer 的连接管理、数据处理与对象管理

KingbaseES KSQL Developer 的连接管理、数据处理与对象管理 写在前面先说说我遇到的情况。手头要维护的数据库不止一种KingbaseES、MySQL、Oracle 都有。每换一种库就要打开对应的客户端连接参数记了一堆还老填错。用命令行倒是到哪都统一可语法记不住、敲错了排查半天效率上不去。KSQL Developer 是 KingbaseES 官方提供的图形化工具走 JDBC 驱动一个界面连接多种异构数据库。当前版本 V1R1C2V7.1.0金仓社区官网免费下载支持 Windows 和 Linux。一、先认识一下它这个工具是 KingbaseES 官方做的图形界面管开发也管运维。驱动走 JDBC内置了一份版本不合适也能手动换。能连的库不少KingbaseES、MySQL、Oracle、SQL Server 是原生支持TiDB 和 OceanBase 走 MySQL 协议也能接进来。KingbaseES 这边支持 V8R3、V8R6 和 V9默认端口 54321。下面这张主界面截图左边是连接管理区右边是主工作区布局不复杂。二、连接管理把散落的数据库收进一个面板2.1 创建连接管理数据库第一步是建连接。KSQL Developer 有个向导带着你走入口两个菜单栏「数据库 → 新建连接」或者点工具栏的「连接」按钮。按数据库类型填主机、端口、数据库名、用户名、密码确认没问题点「完成」就完事。2.2 各数据库的连接参数不同类型要填的参数有差别端口是最容易搞混的地方我整理成了一张表数据库类型默认端口连接方式备注KingbaseES54321原生支持V8R3 / V8R6 / V9MySQL3306原生支持标准协议Oracle1521JDBC 驱动需填服务名、角色SQL Server1433JDBC 驱动主机/端口/库/账号TiDB4000兼容 MySQL 协议类型选 MySQLOceanBase2881兼容 MySQL 协议用户名形如 rootsysKingbaseES 是原生支持配的时候还要额外选一下数据库版本Oracle 多填服务名和角色OceanBase 的用户名比较特殊得用rootsys这种格式。这几个细节填错一个连接就通不了。2.3 连接状态一眼看清连接建好之后看导航树里的图标就知道当前啥状态正常图标是未连接图标下带对号✓是已连接带叉号✗是失效。已连接时下面的数据库对象节点能展开没连上或失效了就自动收起来。打开连接有三种办法右键选「连接」、双击节点、或者点节点前面的展开标识。连不上会直接报错误信息。2.4 连接管理操作在数据库导航器视图里右键连接能做的操作都齐了编辑连接、重命名、删除、连接/断开连接。改连接信息不用重建编辑一下就行。三、可视化数据处理从查询到导出不用写一行多余 SQL下面以一张学生表和一张销售表为例说明排序、筛选、编辑、导出的操作。3.1 可视化排序与筛选查完数据之后排序不用写ORDER BY。点列名左边的排序图标就能升序再点一下降序。多字段排序更简单按住 Ctrl 依次点几列就能做到先按班级升序、同班内按成绩降序这种组合。筛选也全是图形化的。单条件直接在列筛选框里输入值比如班级列输高一(1)班回车就只剩这一班的人。多条件可以叠加还能自己追加过滤条件像AND (score 80)这样。模糊筛选用通配符%张%匹配所有名字带张的学生。3.2 字段管理结果集里的字段也能随手调。右键列名选「隐藏列」把不关心的字段藏掉「显示所有列」再恢复还能拖拽列调整顺序把成绩拖到姓名后面看对应关系。以上操作不涉及 SQL 修改。3.3 即时编辑与批量更新数据编辑分单条和批量两种玩法。想改一条数据双击那个单元格直接输入新值就行比如把孙七的成绩从 69 改成 75改完点一下保存图标。要批量改一批数据得先把目标筛出来比如筛出高一(3)班所有人然后右键选「批量更新」挑好要改的字段填个表达式score 2工具自己拼出 UPDATE 语句去执行。增删数据也在结果集里搞定点最后一行带“的空行录新记录右键记录行选「删除行」就删。编辑时约束校验是实时的。你把性别改成男1这种违反 CHECK 约束的值单元格直接标红鼠标悬停提示违反检查约束”保存不进去从源头上堵住了脏数据。3.4 多格式一键导出导出支持 Excel、CSV、TXT 三种格式。筛选后的数据、排序后的结果可直接导出跨表联合查询的结果也可导出导出的 Excel 可用于报表。导出 CSV 记得选 UTF-8 编码中文才不会乱码。四、数据库对象全生命周期管理数据操作之外数据库对象的管理也做成了图形化。表、存储过程、函数、角色、物化视图、触发器这几样都能点几下就建出来。4.1 图形化建表与改表建表不用手写 CREATE TABLE。右键「表 → 新建表」填表名和字段就行。拿部门表举例dept_id设主键自增、dept_name设非空、create_time默认当前时间工具自动生成 SQL 去执行。改表结构也一样右键「编辑表」加字段、设默认值应用后自动跑 ALTER 语句。4.2 存储过程与函数建存储过程也走右键菜单选「存储过程 → 新建存储过程」弹出来的编辑器里写 PL/SQL 代码编译通过之后拿CALL就能调起来。函数的做法差不多多一步指定返回类型写完逻辑用SELECT调。编辑器带语法高亮和自动补全敲起来不费劲。4.3 角色与权限权限管理支持角色和用户。先建角色勾上 CREATEDB、RESOURCE 权限再建用户并把角色分配过去。图形化界面把授权项列得清楚比手写 GRANT 语句不容易漏。4.4 物化视图与触发器高级对象也能图形化建。物化视图是右键新建、把查询写好以后拿 REFRESH 刷新触发器是右键新建挑好事件和时机比如 AFTER INSERT OR UPDATE写上触发逻辑建好之后对目标表的增改操作就会自动记到审计表里。不过审计表得提前建好缺了它触发器跑起来会报错。五、跨库数据迁移手上同时管着好几个库的话把数据从这个库搬到那个库是常有的事。KSQL Developer 干这事是拿 CSV 当中间文件在源库把表导成 CSV切到目标库右键「导入数据」选中这个文件映射好字段类型就能跑。中间工具会自动适配字段类型和字符集不用自己操心兼容性。拿 MySQL 导 KingbaseES 举例先在 MySQL 连接下右键表导出 CSV再到 KingbaseES 连接的目标模式下导入。还是那句话导出记得选 UTF-8中文才不乱码。六、Linux 环境常见问题排查KSQL Developer 在 Linux 上用的是 GTK 图形界面偶尔会踩几个坑我按报错现象把解法列出来。屏幕闪烁、内存持续增长这类问题多半跟输入法模块有关。图形界面跑在 GTK3 时输入法没配好界面会不停闪、内存越吃越多。可以分别试export GTK_IM_MODULEfcitx或export GTK_IM_MODULEibus看哪个管用。Cannot open display没指定显示环境。先查本机 IP然后export DISPLAY本机地址:0.0再重新启动。jvm terminated exit code这个报错后面跟不同的退出码含义不一样。exit code -1 是启动参数不对多半和内存设置有关去改 KSQLDeveloper.ini 里的-Xms和-Xmx127 是找不到 Java 执行路径检查 JAVA_HOME 或 PATH13 是 JDK 和 Eclipse 位数不一致32 对 32、64 对 64或 JDK/JRE 没执行权限2 是和系统里别的 Java 环境冲突了把 PATH 里的配置项挪到 KSQL Developer 配置项后面。X11 connection rejected because of wrong authenticationX11 认证没过。先排除磁盘空间再确认~/.Xauthority的归属和权限用chown、chmod 0600修确保 sshd 配置里有X11Forwarding yes最后重新登录远程服务器。这几个问题都不是 KSQL Developer 本身的 bug是 Linux 图形环境和 Java 环境配置导致的按上面的思路逐项排查基本都能解决。总结KSQL Developer 的核心能力分四块。连接管理支持 KingbaseES、MySQL、Oracle、SQL Server、TiDB、OceanBase。数据操作可视化排序、筛选、编辑、导出导出支持 Excel、CSV、TXT。对象管理表、存储过程、函数、角色、物化视图、触发器。跨库迁移通过导出导入 CSV 完成。官方给出的数据是整体操作效率提升 90% 以上。适用角色上开发用来调 SQL、写存储过程分析用来提报表素材、导数据运维用来查数据、管权限。国产化工具替换的背景下它基本能顶上原来那些国外数据库客户端的位置。要留意的主要就是几处小细节端口别填错KingbaseES 是 54321、TiDB 是 4000、OceanBase 是 2881、导出用 UTF-8、删数据前先备份、版本要和数据库适配。这些注意到了用起来就很顺。
返回列表