docs: sync MDX content with implementation
This commit is contained in:
1 parent
71f9f11eec
commit
3337826b89
37 files changed
+738
-218
No files matched your search
@@ -1,76 +1,100 @@
|
||||
---
|
||||
title: 数据库支持
|
||||
description: 默认通过 Rust 原生驱动支持 25+ 种数据库,也可通过可选 JDBC 插件扩展更多数据库。
|
||||
description: 了解 DBX 可以连接哪些数据库,以及每类高级功能支持哪些引擎。
|
||||
---
|
||||
|
||||
<Callout type="info">
|
||||
DBX 默认使用 Rust 原生驱动,不依赖 JDBC。需要连接更多数据库时,可以安装可选的 [JDBC 插件](/cn/docs/plugins)。
|
||||
DBX 主应用会尽量使用 Rust 原生驱动。部分数据库通过 MySQL 或 PostgreSQL 兼容协议连接,部分数据库通过 Agent 驱动或可选的 [JDBC 插件](/cn/docs/plugins) 扩展。
|
||||
</Callout>
|
||||
|
||||
## 完整支持
|
||||
## 连接类型
|
||||
|
||||
| 数据库 | 驱动 | 协议 |
|
||||
新建连接窗口会提供带默认端口和驱动标签的预设类型。
|
||||
|
||||
| 分组 | 类型 | 说明 |
|
||||
|---|---|---|
|
||||
| MySQL | sqlx | MySQL |
|
||||
| PostgreSQL | sqlx | PostgreSQL |
|
||||
| SQLite | sqlx | 嵌入式 |
|
||||
| Redis | redis-rs | RESP |
|
||||
| MongoDB | mongodb | MongoDB Wire |
|
||||
| DuckDB | duckdb-rs | 嵌入式 |
|
||||
| ClickHouse | HTTP client | HTTP |
|
||||
| SQL Server | tiberius | TDS |
|
||||
| Oracle | oracle-rs | OCI |
|
||||
| Elasticsearch | HTTP client | REST |
|
||||
| DM(达梦) | odbc-api | ODBC |
|
||||
| GaussDB | rust-gaussdb | GaussDB |
|
||||
| 核心 SQL 数据库 | MySQL、PostgreSQL、SQLite、DuckDB、ClickHouse、SQL Server、Oracle、Redshift、DM、GaussDB | 直接出现在 DBX 连接选择器中 |
|
||||
| 文档与键值数据库 | Redis、MongoDB、Elasticsearch | 根据数据模型使用专门浏览器或查询流程,不完全等同于关系型表格 |
|
||||
| MySQL 兼容类型 | MariaDB、TiDB、OceanBase、Doris、SelectDB、StarRocks、GoldenDB、自定义 MySQL | 复用 MySQL 风格连接能力 |
|
||||
| PostgreSQL 兼容类型 | openGauss、KingBase、HighGo、Vastbase、CockroachDB、自定义 PostgreSQL | 复用 PostgreSQL 风格连接能力 |
|
||||
| 文件型数据库 | SQLite、DuckDB、Microsoft Access | 选择本地数据库文件,不填写主机和端口 |
|
||||
| Agent/JDBC 扩展类型 | H2、Snowflake、Trino、Hive、DB2、Informix、Neo4j、Cassandra、BigQuery、Kylin、SunDB、TDengine、JDBC | 功能覆盖取决于对应驱动路径 |
|
||||
|
||||
## MySQL 兼容
|
||||
## 默认端口
|
||||
|
||||
以下数据库使用 MySQL 协议,通过 MySQL 驱动连接,开箱即用:
|
||||
|
||||
| 数据库 | 默认端口 |
|
||||
|---|---|
|
||||
| MariaDB | 3306 |
|
||||
| 类型 | 默认端口 |
|
||||
|---|---:|
|
||||
| MySQL / MariaDB / GoldenDB | 3306 |
|
||||
| PostgreSQL / openGauss / GaussDB / Vastbase | 5432 |
|
||||
| Redis | 6379 |
|
||||
| MongoDB | 27017 |
|
||||
| ClickHouse | 8123 |
|
||||
| SQL Server | 1433 |
|
||||
| Oracle | 1521 |
|
||||
| Elasticsearch | 9200 |
|
||||
| TiDB | 4000 |
|
||||
| OceanBase | 2881 |
|
||||
| GoldenDB | 3306 |
|
||||
| Doris | 9030 |
|
||||
| SelectDB | 9030 |
|
||||
| StarRocks | 9030 |
|
||||
| Doris / SelectDB / StarRocks | 9030 |
|
||||
| Redshift | 5439 |
|
||||
| CockroachDB | 26257 |
|
||||
| DM | 5236 |
|
||||
| KingBase | 54321 |
|
||||
| HighGo | 5866 |
|
||||
| H2 | 9092 |
|
||||
| Snowflake | 443 |
|
||||
| Trino | 8080 |
|
||||
| Hive | 10000 |
|
||||
| DB2 | 50000 |
|
||||
| Informix | 9088 |
|
||||
| Neo4j | 7687 |
|
||||
| Cassandra | 9042 |
|
||||
| BigQuery | 443 |
|
||||
| Kylin | 7070 |
|
||||
| SunDB | 22000 |
|
||||
| TDengine | 6041 |
|
||||
|
||||
<Callout type="info">
|
||||
OceanBase 支持自动检测 Oracle 模式 — 当连接的 OceanBase 实例运行在 Oracle 模式下时,DBX 会自动切换为 Oracle 风格的 Schema 查询。
|
||||
SQLite、DuckDB、Access 和 JDBC 在不需要网络端口时,会在连接模型中保存为端口 `0`。
|
||||
</Callout>
|
||||
|
||||
以下数据库使用 PostgreSQL 协议,通过 PostgreSQL 驱动连接:
|
||||
## 功能矩阵
|
||||
|
||||
| 数据库 | 默认端口 |
|
||||
DBX 只会在具备足够元数据和 SQL 生成能力的数据库上启用高级功能。
|
||||
|
||||
| 功能 | 支持类型 |
|
||||
|---|---|
|
||||
| openGauss | 5432 |
|
||||
| KingBase(人大金仓) | 54321 |
|
||||
| Vastbase | 5432 |
|
||||
| Redshift | 5439 |
|
||||
| CockroachDB | 26257 |
|
||||
| Schema 感知树 | PostgreSQL、SQL Server、Oracle、Redshift、DM、GaussDB、KingBase、HighGo、Vastbase、JDBC、H2、Snowflake、Trino、DB2、TDengine |
|
||||
| ER 图 | MySQL、PostgreSQL、SQLite、SQL Server、Oracle、Redshift、DM、GaussDB、KingBase、HighGo、Vastbase、GoldenDB、Access、H2、DB2 |
|
||||
| 数据库搜索 | MySQL、PostgreSQL、SQLite、SQL Server、Oracle、Redshift、DuckDB、ClickHouse、DM、GaussDB、KingBase、HighGo、Vastbase、GoldenDB、Access、H2、Snowflake、Trino、Hive、DB2、Informix、Neo4j、Cassandra、BigQuery、Kylin、SunDB、TDengine |
|
||||
| 表数据导入 | MySQL、PostgreSQL、SQLite、DuckDB、ClickHouse、SQL Server、Oracle、Doris、StarRocks、Redshift、DM、GaussDB、KingBase、HighGo、Vastbase、GoldenDB、Access |
|
||||
| 表结构编辑器 | MySQL、PostgreSQL、SQLite、SQL Server |
|
||||
| 创建数据库 | MySQL、PostgreSQL、SQL Server、ClickHouse、Oracle、DM、GaussDB、Doris、StarRocks、Redshift |
|
||||
| 字段血缘 | MySQL、PostgreSQL、SQLite、SQL Server、Oracle、Redshift、DM、GaussDB |
|
||||
| 数据传输 | MySQL、PostgreSQL、SQLite、SQL Server、Oracle、ClickHouse、DuckDB、DM、GaussDB |
|
||||
| 不支持 SQL 文件执行 | Redis、MongoDB、Elasticsearch |
|
||||
|
||||
## ODBC 数据库
|
||||
<Callout type="warn">
|
||||
如果某个数据库可以连接,但没有出现在某个功能行中,该功能可能会被隐藏或受限。这是为了避免 DBX 生成无法可靠审查的 SQL。
|
||||
</Callout>
|
||||
|
||||
DM(达梦)通过 ODBC 连接,需要在系统上安装对应的 ODBC 驱动。
|
||||
## 连接选项
|
||||
|
||||
### DM(达梦)
|
||||
大多数网络数据库支持主机、端口、用户名、密码、默认数据库、URL 参数、SSL、连接颜色、SSH 隧道和代理设置。文件型数据库会改为选择本地文件。
|
||||
|
||||
达梦 DM8 通过 ODBC 驱动连接。默认端口:**5236**,默认用户:**SYSDBA**。
|
||||
DBX 也可以解析常见连接 URL,例如 MySQL、PostgreSQL、Redis、MongoDB、ClickHouse、SQL Server、Oracle、Elasticsearch、DM、GaussDB、openGauss、TDengine 和 Access。
|
||||
|
||||
## DM 与 ODBC
|
||||
|
||||
DM 通过 ODBC 路径连接,需要在运行 DBX 的机器上安装 DM ODBC 驱动。
|
||||
|
||||
<Tabs groupId="dm-platform" items={['Linux', 'Windows', 'macOS']}>
|
||||
<Tab value="Linux">
|
||||
```bash
|
||||
# 安装 unixODBC
|
||||
sudo apt install unixodbc
|
||||
|
||||
# 安装达梦数据库(安装包含 ODBC 驱动)
|
||||
# 安装 DM8,安装包包含 ODBC 驱动
|
||||
# 下载地址:https://eco.dameng.com/download/
|
||||
|
||||
# 在 /etc/odbcinst.ini 中注册驱动
|
||||
sudo tee -a /etc/odbcinst.ini << 'EOF'
|
||||
[DM8 ODBC DRIVER]
|
||||
Description = DM8 ODBC Driver
|
||||
@@ -79,13 +103,25 @@ DM(达梦)通过 ODBC 连接,需要在系统上安装对应的 ODBC 驱动
|
||||
```
|
||||
</Tab>
|
||||
<Tab value="Windows">
|
||||
达梦安装程序会自动注册 ODBC 驱动,无需手动配置。
|
||||
DM 安装程序通常会自动注册 ODBC 驱动。
|
||||
</Tab>
|
||||
<Tab value="macOS">
|
||||
达梦暂未提供 macOS 原生 ODBC 驱动。开发/测试建议使用 Linux 环境连接。
|
||||
DM 暂未提供 macOS 原生 ODBC 驱动。开发或测试建议使用 Linux 主机连接。
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## 可选 JDBC 插件
|
||||
## 扩展支持
|
||||
|
||||
如果目标数据库不在内置支持列表中,或你必须使用厂商提供的 JDBC 驱动,可以通过 [JDBC 插件](/cn/docs/plugins) 创建 JDBC 连接。JDBC 插件不会增加 DBX 主安装包体积,也不会自动下载数据库厂商驱动。
|
||||
当目标数据库不在内置类型中,或团队必须使用厂商 JDBC 驱动时,可以使用 [JDBC 插件](/cn/docs/plugins)。JDBC 会把厂商驱动 JAR 放在 DBX 主应用之外,由你决定安装哪些驱动文件。
|
||||
|
||||
<Cards>
|
||||
<Card title="创建连接" href="/cn/docs/getting-started">
|
||||
安装 DBX、选择数据库类型并测试第一个连接。
|
||||
</Card>
|
||||
<Card title="JDBC 插件" href="/cn/docs/plugins">
|
||||
安装可选 JDBC 插件并导入厂商驱动 JAR。
|
||||
</Card>
|
||||
<Card title="SSH 隧道" href="/cn/docs/ssh-tunnel">
|
||||
连接私有网络或跳板机后的数据库。
|
||||
</Card>
|
||||
</Cards>
|
||||
Reference in new issue
Block a user