# 连接数据源

连接数据库或上传文件，选择需要分析的数据。

先连接数据库或上传文件，再选择需要分析的表。AskTable 会读取数据结构，并在提问时查询相关数据。

## 开始前

| 项目 | 要求                             |
| -- | ------------------------------ |
| 权限 | 项目负责人或项目管理员；普通项目成员没有数据源配置写权限   |
| 前置 | 数据库侧开好只读账号，且从 AskTable 服务器网络可达 |
| 入口 | 左侧主导航 → 「更多」→ 「数据源」            |

页面标题是「数据源」，右上角按钮是「添加数据源」；搜索框可以按名称过滤列表。

## 操作步骤

**选择类型**

创建流程顶部有三个步骤：「选择类型」「配置连接」「添加数据表」。

类型卡片按三组排列，分组标题是「文件」「数据库」「大数据」。点中一张卡片直接进入下一步。

**配置连接（数据库类）**

填数据源名称、主机、端口、用户名、密码，再加一个库名输入框：

- 数据源名称可以留空，留空时会自动生成。
- 端口预填该引擎的常用端口，可以直接改。
- 库名输入框的标题随引擎变化：多数引擎是数据库DB，Oracle 是 Service Name，Databend 另有计算集群。
- 允许多库的引擎（例如 MySQL）可以在同一个框里填多个库名，用英文逗号分隔，留空表示全部数据库。

云端部署时主机字段下方会提示把 AskTable 服务器（47.100.25.242）加入数据库白名单。

点右下角「立即添加」，系统先自动测试一次连接，通过后进入下一步；失败时弹出连接失败对话框，正文是数据库返回的原始错误。

**添加数据表**

选表页标题是「选择数据表」，上方有「表」「视图」两个页签，搜索框可以按表名或视图名过滤，右侧是「排序」和「全选」。

勾选要同步的表后点「确认选择 (N)」；一张表都没勾时按钮不可点。想以后再选就点「跳过」，之后可以随时在数据源的详情页重新选表。

这一步下方有一个同步 Value Index（提升字段值检索精度）的勾选框，默认不勾选；说明文字写着构建耗时较长，建议仅在数据量较小或检索要求高时开启，也可以在创建后手动触发。它的作用见 [AI 索引](https://docs.asktable.com/data/ai-search)。

**上传文件（Excel / CSV）**

类型选「Excel / CSV」时，第二步变成上传页：填数据源名称，再把文件拖进虚线区或点击选择。

虚线区可以点击选择文件，也可以把文件拖进去；支持的格式是 .xlsx、.xls、.csv，一次可以传多个。已选文件列在下方，每条可以单独移除。

点「立即添加」完成创建，直接回到「数据源」列表页。

**创建工作簿（第三种走法）**

类型选「工作簿」会跳到独立的「新建工作簿」页，先填数据源名称，再从三种方式里选一个：

| 方式          | 说明                           |
| ----------- | ---------------------------- |
| 「Excel 导入」  | 上传 Excel 或 CSV，解析后建一个可编辑的工作簿 |
| 「从飞书多维表格同步」 | 连接飞书应用，选表后建只读的同步工作簿          |
| 「空白工作簿」     | 先建空簿，再手动加工作表和字段              |

## 支持的数据源类型

清单与创建页的类型卡片一一对应，括号里是卡片上显示的版本。

**文件**：「Excel / CSV」（.xlsx / .xls / .csv）、「工作簿」（Beta）

**数据库**：MySQL（5.7 / 8.0）、PostgreSQL（9/14/15/16）、PolarDB（MySQL 5.7 / 8.0）、PolarDB（PostgreSQL 14/15/16）、OceanBase（4.2.2）、达梦（DM8）、虚谷（V11 / V12）、TiDB（8.1.0）、Oracle（18c / 12c）、SQL Server（2012 / 2016 Web）、MogDB（5.0.0）、GaussDB（主备版）、TDSQL（MySQL）、TDSQL（PostgreSQL）、金仓 KingbaseES（V8）、GBase 8c（V5）、崖山 YashanDB（23.2）、DAP（Beta）

**大数据**：StarRocks（3.x）、ClickHouse（22.12）、Doris（3.0.5）、Hive（3.x）、MaxCompute（2025）、Google BigQuery、Hologres（r3.2.x）、AnalyticDB（MySQL）、AnalyticDB（PostgreSQL）、Databend（1.2）、SelectDB（4.0.4）、Greenplum（6.x）、GBase 8a（V9）、GaussDB(DWS)（8.x）

两处例外：「工作簿」虽然在「文件」分组里，选它不会进入通用表单，而是跳到独立创建页；「DAP」要额外填 URL、Secret Key 和 Dialect，见下面「跨安全域接数据（DAP）」。

## 国产信创数据库

信创数据库是逐个原生适配的，不是套通用驱动凑合。连接的填法和通用数据库一致：填名称、主机、端口、用户名、密码，再填库名。

| 数据库           | 卡片上的版本             | 说明                                                  |
| ------------- | ------------------ | --------------------------------------------------- |
| 达梦（DM8）       | DM8                | 需要企业版；未授权时连接测试返回 403，错误码 `ACCESSOR_ENTERPRISE_ONLY` |
| GaussDB       | 主备版                | 集中式形态，在「数据库」分组                                      |
| GaussDB(DWS)  | 8.x                | 数仓形态，在「大数据」分组                                       |
| 金仓 KingbaseES | V8                 | 在「数据库」分组                                            |
| GBase 8c      | V5                 | 在「数据库」分组                                            |
| GBase 8a      | V9                 | 在「大数据」分组                                            |
| 虚谷            | V11 / V12          | 在「数据库」分组                                            |
| 崖山 YashanDB   | 23.2               | 在「数据库」分组                                            |
| TDSQL         | MySQL / PostgreSQL | 两张卡片，按实际形态选                                         |
| MogDB         | 5.0.0              | 在「数据库」分组                                            |
| OceanBase     | 4.2.2              | 在「数据库」分组                                            |
| TiDB          | 8.1.0              | 在「数据库」分组                                            |

Oracle 是个例外：库名输入框的标题变成 Service Name，要填服务名而不是库名。

## 跨安全域接数据（DAP）

机房隔离、物理网闸、不允许给数据库开外网端口时，不必把数据库暴露出来：在数据库侧部署轻量代理，让 AskTable 连代理而不是直连数据库。

在「选择类型」的「数据库」分组里选「DAP」（Beta）。它的表单比通用表单短，只有四项：

| 字段         | 填什么                                     |
| ---------- | --------------------------------------- |
| 数据源名称      | 可留空，留空时自动生成                             |
| URL        | DAP 代理的地址                               |
| Secret Key | 代理的访问密钥                                 |
| Dialect    | 代理背后数据库的方言，默认 PostgreSQL；决定 SQL 按哪种语法生成 |

填完点「立即添加」，系统先自动测一次连接，通过后进入选表步骤，之后的流程和普通数据库完全一样。

## 关键约束

| 项目                | 值或默认                                                | 在哪里改                                  |
| ----------------- | --------------------------------------------------- | ------------------------------------- |
| 单次上传文件数           | 最多 10 个，超出时上传被拒绝                                    | 表单校验，不可调                              |
| Excel 单文件大小       | 默认 10 MB，超出时该文件被拒绝                                  | 头像菜单 → 「设置」→ 「文件上传」→ Excel 最大文件大小（MB） |
| CSV 单文件大小         | 默认 20 MB，超出时该文件被拒绝                                  | 头像菜单 → 「设置」→ 「文件上传」→ CSV 最大文件大小（MB）   |
| CSV 列数            | 默认 50，超出时该文件被拒绝                                     | 头像菜单 → 「设置」→ 「文件上传」→ CSV 最大字段数        |
| Excel Sheet 数     | 默认 20                                               | 头像菜单 → 「设置」→ 「文件上传」→ Excel 最大 Sheet 数 |
| Excel 单 Sheet 字段数 | 默认 200                                              | 头像菜单 → 「设置」→ 「文件上传」→ Excel 最大字段数      |
| 单数据源可选表数          | 默认 100 张；超出时选表页会提示已选数量超过上限，并禁用「确认选择」                | 头像菜单 → 「设置」→ 「数据源」→ 单数据源最大表数（云端部署生效）  |
| 达梦（DM8）           | 需要企业版；未授权时连接测试返回 403，错误码 ACCESSOR\_ENTERPRISE\_ONLY | 联系管理员升级企业版                            |
| 多库分隔符             | 只能用英文逗号；格式不对时提交被拒绝                                  | 表单校验，不可调                              |

以上数值都是默认值，可在管理后台调整（表单校验类的除外）。

## 出问题怎么判断

| 现象            | 判定条件                                                         | 处理                                            |
| ------------- | ------------------------------------------------------------ | --------------------------------------------- |
| 连接测试没过        | 弹出的连接失败对话框里是数据库返回的原始报错                                       | 逐项核对主机、端口、账号、密码、库名；云端部署时确认已把提示里的服务器地址加进数据库白名单 |
| 达梦连不上         | 提示需要企业版，或接口返回 403 / ACCESSOR\_ENTERPRISE\_ONLY               | 升级企业版后再连                                      |
| 提交被表单拦下       | 校验不通过，会指出是主机地址为空、端口号不是数字、端口号超过 65536、数据库名为空或 Service Name 为空 | 按提示补齐对应字段                                     |
| 文件加不进去        | 文件超出大小或列数限制，被拒绝                                              | 压缩或拆分文件，再重新上传                                 |
| 「确认选择」点不动     | 一张表都没勾；或勾选数超过 100 张上限                                        | 减少勾选；确需更多表请管理员调高单数据源最大表数                      |
| 选表页一张表都没有     | 库表列表为空                                                       | 确认账号对目标库有读权限；Oracle 要填对 Service Name          |
| 搜不到某张表        | 列表里没有匹配结果                                                    | 切换「表」/「视图」页签，清空搜索关键词                          |
| 连接成功但详情页一直同步中 | 顶栏状态指示器显示为同步中                                                | 等元数据解析完成；长时间不动点状态指示器看错误详情                     |

## 下一步

- 要连的是 BigQuery：[连接 Google BigQuery](https://docs.asktable.com/data/bigquery)
- 想让 AI 认对字段：[表与字段备注](https://docs.asktable.com/data/semantics)
- 接完要做日常维护：[管理数据源、文件与训练集](https://docs.asktable.com/data/manage)
- 直接开始提问：[对话](https://docs.asktable.com/conversation)
