版本: v1.0 修改日期: 2026-05-29 文档定位:本手册面向项目经理,只讲”该做什么、向厂家要什么、怎么判断资料齐了”。技术细节由技术团队负责。
完成后你将能够:向厂家收齐数据库连接信息与表结构资料,通过提资入口提交,技术团队即可开始配置。
阅读路径:确认适用场景(第 1 节)→ 收资料(第 3 节)→ 自查提交(第 6 节)。
1 确认是否走本手册
1.1 适用场景
满足以下任一条件,走本手册:
- 客户已有自己的业务系统(如 ERP、MES、能源管理系统),数据存在数据库里
- 客户答复”你们直接连我们数据库读数据吧”
- 没有合适的接口或消息系统,数据库读取是唯一可行方式
1.2 不走本手册的情况
| 现场情况 | 应走方式 |
|---|---|
| 对方有接口或消息系统 | HTTP / MQTT / Kafka 对接(优先,不直连数据库) |
| 直接采集硬件设备 | S7 / Modbus / OPC UA 对接 |
⚠️ 直连数据库风险大、责任重:可能影响对方业务系统性能、可能误改生产数据、对方表结构变更我方立即断连。仅在没有更好选择时使用。
2 术语速览
| 术语 | 通俗解释 | 类比 |
|---|---|---|
| 数据库 | 存放业务数据的”大仓库” | 仓库 |
| 数据库类型 | 不同品牌/型号的数据库,如 MySQL、Oracle、SQL Server | 不同型号的仓库 |
| 主机 / IP | 数据库所在服务器的网络地址 | 仓库地址 |
| 端口 | 数据库的”门牌分机号” | 仓库进货口 |
| 库 / Schema | 仓库里的”区域”,用于分类存放表 | 仓库分区 |
| 表(Table) | 实际存数据的”账本”,有列(字段)和行(记录) | 账本 |
| 视图(View) | 由一个或多个表加工出来的”虚拟账本” | 报表 |
| 字段 | 表的”列名”,如”温度""时间""设备编号” | 账本的列 |
| 主键 | 每一行数据的唯一编号,不重复 | 身份证号 |
| 实时表 | 每个设备一行,最新值覆盖旧值 | 每人一张当前位置卡,随时刷新 |
| 历史表 | 每次上报新增一行,按时间堆积 | 打卡流水账,不覆盖 |
| device_name | viSCADA 侧用于标识每条数据归属哪个设备的字段 | 每条记录的”设备身份证号” |
| 专用账号 | 为本次对接单独开的账号,权限受限 | 临时访客证 |
| 只读账号 | 只能查、不能改的账号,采集场景可直接使用 | 只能看不能改的访客证 |
💡 Oracle 实例标识有两种方式,不可混用:
- SID(系统标识符):老式方式,唯一标识一个实例
- ServiceName(服务名):新式方式,可对应一组实例
两者连接串写法不同,必须问清厂家用的是哪一种。
💡 SQL Server 命名实例: 一台服务器可以跑多个”命名实例”,连接时除了 IP 还要指定实例名(如
192.168.1.10\SQLEXPRESS)。需问清是默认实例还是命名实例。
3 资料清单(可直接发给厂家)
📌 提交命名格式:项目名-Database-接口清单
以下资料均为必填,缺一不可:
- 数据库类型(MySQL / PostgreSQL / Oracle / SQL Server 等)
- 主机 / IP 与端口
- 实例名 / SID / ServiceName——Oracle、SQL Server 命名实例必填
- 数据库名 / Schema
- 账号与密码(专用账号或只读账号均可)
- 目标表名 / 视图名及表类型(实时 / 历史)
- 每张表中可映射到 device_name 的字段
- 表结构说明(字段名、类型、含义)
- 完整点表(含字段与读写属性)
4 操作步骤
步骤 1:收集数据库连接信息
向厂家索取以下连接信息,逐项到位:
| 信息项 | 是否必填 | 说明 |
|---|---|---|
| 数据库类型 | 必填 | MySQL / PostgreSQL / Oracle / SQL Server 等;不同数据库连接方式不同 |
| 主机 / IP | 必填 | 区分内网 / 外网地址 |
| 端口 | 必填 | 默认端口见下表 |
| 实例名 / SID / ServiceName | 条件必填 | Oracle、SQL Server 命名实例场景填写 |
| 数据库名 / Schema | 必填 | 区分大小写 |
| 账号 | 必填 | 专用账号或只读账号均可 |
| 密码 | 必填 | 不建议使用 @ 等特殊符号 |
常见数据库默认端口速查:
| 数据库 | 默认端口 | 备注 |
|---|---|---|
MySQL | 3306 | —— |
PostgreSQL | 5432 | 库名与 Schema 两者均须填写 |
Oracle | 1521 | 必须问清是 SID 还是 ServiceName |
SQL Server | 1433 | 命名实例须填实例名 |
⚠️ 不建议使用超级管理员账号,避免误操作。
步骤 2:明确表与数据
拿到账号后,逐张表向厂家确认下列信息:
| 确认项 | 是否必填 | 说明 |
|---|---|---|
| 表名 / 视图名 | 必填 | 每张表用途与数据来源 |
| 表类型(实时 / 历史) | 必填 | 两类表采集方式不同,见下文 |
device_name 映射字段 | 必填 | 表中可唯一标识设备的字段,见下文 |
| 字段说明 | 必填 | 字段名、类型、含义、单位 |
| 主键 | 必填 | 每行记录的唯一编号 |
实时表 vs. 历史表:
| 维度 | 实时表 | 历史表 |
|---|---|---|
| 数据组织 | 每个设备一行,最新值覆盖旧值 | 每次上报新增一行,按时间堆积 |
| 常见表名模式 | device_status、realtime_data、current_* | sensor_log、history_*、*_record |
| 对接难度 | 低,可直接对接 | 中高,表体量通常较大 |
device_name 映射字段(必备):
viSCADA 侧要求每条数据都能对应到一个唯一设备。厂家表里有能唯一标识设备的字段即可(单字段或多字段组合均可),由技术团队在配置时做映射。
| 场景 | 可用字段示例 | 是否满足 |
|---|---|---|
表里有 device_id、sn、tag、station_code 等可标识设备的字段 | 单字段或多字段组合均可 | ✅ 是 |
| 表里只有”温度/压力/时间”等测点数据,没有设备标识 | —— | ❌ 否,需要求厂家加字段或改用视图补齐 |
| 设备标识需要拼接多个字段(如”区域 + 设备号”) | 约定拼接规则 | ✅ 是,在点表”说明”列写清拼接规则 |
⚠️ 每条记录必须含有一个可映射到
device_name的字段,否则该条数据无法入库。若厂家原表不满足,需要求厂家加字段、或提供包含设备标识的视图。
步骤 3:确认网络连通
- 完成 网络连通性验证(我方服务器能
telnet通对方端口) - 使用账号实际登录一次,确认能查到约定的表
步骤 4:通过提资入口登记
通过 统一提资入口(钉钉文档) 登记本次对接需求,填写项目名、对接类型(Database)、对接人、预计上线时间等基础项。
步骤 5:整理并提交完整资料
将第 3 节资料清单逐项收集完毕后,按第 5 节模板整理,作为附件上传至提资记录,一并提交。
5 资料收集表与填写示例
5.1 资料收集表
| 分类 | 字段 | 是否必填 | 填写要求 |
|---|---|---|---|
| 数据库 | 数据库类型 | 必填 | MySQL / PostgreSQL / Oracle / SQL Server 等 |
| 连接 | 主机 / IP | 必填 | 区分内网 / 外网地址 |
| 连接 | 端口 | 必填 | 参考步骤 1 默认端口 |
| 连接 | 实例名 / SID / ServiceName | 条件必填 | Oracle、SQL Server 命名实例场景 |
| 连接 | 数据库名 / Schema | 必填 | 区分大小写 |
| 账号 | 用户名 | 必填 | 专用账号或只读账号均可 |
| 账号 | 密码 | 必填 | —— |
| 表结构 | 目标表 / 视图清单 | 必填 | 表名 + 表类型(实时 / 历史)+ 用途 |
| 表结构 | device_name 映射字段 | 必填 | 每张表中可唯一标识设备的字段名;若需拼接多字段须写清规则 |
| 表结构 | 字段说明 | 必填 | 字段名、类型、含义、单位 |
| 点表 | 完整点表 | 必填 | 优先提供可编辑 Excel,其他格式可接受,但内容须清晰准确 |
5.2 填写示例
| 数据库类型 | 主机 / IP | 端口 | 实例名 / SID | 数据库名 / Schema | 账号 | 密码 | 表名(类型) | device_name 映射字段 |
|---|---|---|---|---|---|---|---|---|
MySQL | 10.10.20.15 | 3306 | N/A | iot_test | iot_reader | 123456 | device_status(实时)、sensor_log(历史) | device_status.device_id、sensor_log.sn |
PostgreSQL | 172.16.8.23 | 5432 | N/A | 数据库:iot_prod;Schema:public | iot_rw | 123456 | devices(实时)、telemetry(历史) | devices.id、telemetry.device_code |
Oracle | 192.168.1.100 | 1521 | ORCL(SID)或 iot_svc(ServiceName) | Schema:IOT_READER | iot_reader | 123456 | DEVICE_INFO(实时)、SENSOR_LOG(历史) | DEVICE_INFO.DEV_ID、SENSOR_LOG.DEV_ID |
SQL Server | 172.16.8.50 | 1433 | 默认实例或命名实例(如 SQLEXPRESS) | 数据库:iot_db | iot_reader | 123456 | device_info(实时)、telemetry(历史) | device_info.tag、telemetry.tag |
6 提交前自查清单
- 已收集数据库类型、主机 / IP、端口
- 已确认实例名 / SID / ServiceName(Oracle、SQL Server 命名实例)
- 已获取数据库名 / Schema
- 已获取账号与密码(专用账号或只读账号)
- 已标注每张表的类型(实时 / 历史)
- 已为每张表确认可映射到
device_name的字段 - 已获取每张表的字段说明与主键
- 已获取完整点表
- 已使用账号实际登录验证,能查到约定的表
- 已确认 网络连通性 通过:viSCADA → 厂家数据库
- 已通过 统一提资入口 提交资料
- 已在泛微系统发起技术服务流程
7 常见问题与处置
⚠️ 账号有写入权限
- 后果:误操作可能改坏对方业务数据,责任边界不清难以追溯,一旦出现数据问题双方都难以自证。
- 处置:必须要求厂家提供专用只读账号,不接受管理员账号或任何具写入权限的账号。
⚠️ Oracle / SQL Server 实例信息不完整
- 后果:连接串写法错误,直接连不上数据库。Oracle 的 SID 与 ServiceName 连接串写法完全不同,混用必然失败。
- 处置:要求厂家明确写清:Oracle 用的是 SID 还是 ServiceName;SQL Server 是默认实例还是命名实例(如
SQLEXPRESS)。
⚠️ 表里没有设备标识字段
- 后果:viSCADA 无法区分每条记录属于哪台设备,数据无法入库。
- 处置:要求厂家在表中加设备标识字段,或提供包含设备标识的视图。无法改动时联系技术团队评估替代方案。
⚠️ 未区分实时表和历史表
- 后果:两类表采集方式不同,配置时如果混淆会导致数据重复采集或漏采。
- 处置:逐张表确认类型,填入资料收集表,不接受”自己看”的回复。
⚠️ 使用厂家内网地址,我方无法访问
- 后果:厂家提供的 IP 只在其内网有效,我方无法解析或路由,网络完全不通。
- 处置:提资时明确区分内网地址与外网地址,并通过网络连通性测试验证后再录入。
⚠️ 表结构变更未通知
- 后果:厂家修改字段名或表结构,我方采集立即中断,且排查困难。
- 处置:在对接协议或会议纪要中写明:表结构如有变更,须提前通知我方,配合完成配置更新后再上线。
8 遇到问题的三步处置
- 先排查:网络未通、账号无法登录、表结构不清——三类问题覆盖 80% 的卡点。
- 对照清单:参考第 3 节资料清单,逐项确认是否到位。
- 同步技术团队:将已收集资料、网络测试结果、登录测试结果、当前卡点整理后一并发送,避免反复沟通。