# 数据源与连接类问题排查指南
# 1. 数据源连接与配置问题
# 1.1 新装环境启动失败:数据库初始化报错
- 现象:
- 应用启动失败,日志中包含
SQLException或CommunicationsException。 - 页面提示“系统初始化中”,或报错
table/eos_lock doesn't exist。
- 应用启动失败,日志中包含
- 排查与处理:
- 核对配置文件:
- 路径:
config/{APP_NAME}/config/user-config.xml - 核对
C3p0-Url、C3p0-UserName、C3p0-Password与目标库信息一致。 - 微服务版检查
application-nacos.properties或bootstrap.properties中 Nacos 配置。
- 路径:
- 检查驱动:
- 确认对应数据库的 JDBC 驱动 JAR 已放置在
lib或lib/jdbc目录下。
- 确认对应数据库的 JDBC 驱动 JAR 已放置在
- 重跑初始化脚本:
- 找到对应版本的
db-scripts/all.sql,在目标库重新执行并确认无报错。
- 找到对应版本的
- 核对配置文件:
# 1.2 多数据源操作报错:Table '...' doesn't exist
- 现象:
- 操作非默认数据源(如
eos833_btlsrm_db)的业务表时,报错提示在default数据源中找不到该表。 - 示例:
Table 'eos833_sass.wbtl_non_bulk_suppliers' doesn't exist。
- 操作非默认数据源(如
- 排查与处理:
- 实体数据源绑定:
- 登录 AFCenter →【开发中心】→ 选择应用 →【配置管理】→【实体数据源配置】。
- 按文档规则配置实体与数据源映射关系。
- 补丁:
- 如配置无误仍报错,建议优先安装补丁合集,或打相关补丁(PLATFORM_8.3.3_AFCENTER_20250711_P1、PLATFORM_8.3.3_AFCENTER_20250912_P1)
- 实体数据源绑定:
# 1.3 访问数据源超时或无响应
- 现象:
- 后端日志出现
SocketTimeoutException或CommunicationsException。
- 后端日志出现
- 排查与处理:
- Linux 环境配置主机名/DNS:
- 编辑
/etc/hosts,添加应用服务器与数据库服务器的 IP 和主机名映射。 - 检查
/etc/resolv.conf配置正确的内网 DNS。
- 编辑
- 调整连接池:
- 修改
user-config.xml或application.properties,增大C3p0-PoolSize、C3p0-MaxPoolSize等参数。
- 修改
- 网络检查:
- 使用
telnet或nc测试应用服务器到数据库端口的连通性。 - 若经过网关,检查网关日志是否因加密或转发导致延迟。
- 使用
- Linux 环境配置主机名/DNS:
# 2. 数据库兼容性与迁移问题
# 2.1 迁移更换数据库后功能异常
现象:
- 执行 SQL 时报语法错误或类型转换异常。
排查与处理:
初始化脚本适配:
- 检查脚本是否适配新数据库(如大小写敏感、关键字差异),必要时手动调整。
驱动版本:
- 更换为与目标数据库完全匹配的 JDBC 驱动。
补丁:
达梦/Oracle 下若 XXL-JOB 相关功能异常,打补丁
PLATFORM_8.3.3_AFCENTER_20250410_P1。4.需要适配处理
# 3. 数据源操作与运行时问题
# 3.1 逻辑流操作数据库报类型转换错误
- 现象:
- 主键为 int 时,逻辑流删除图元调用失败。
- 日志:
java.lang.Integer cannot be cast to java.lang.String。
- 处理:
- 打补丁
PLATFORM_8.3.3_AFCENTER_20251119_P1。
- 打补丁
# 3.2 定时任务调用逻辑流失败(跨数据源/跨应用)
- 现象:
- 调度中心显示执行成功,但业务数据未更新。
- 跨应用调用接口返回
401 Unauthorized。 - 逻辑流中
systemVars获取失败。
- 排查与处理:
- 模拟登录(解决 401):
- 在调用其他应用接口的 REST 图元中,手动设置请求头
Authorization。 - 使用固定 Token:在 AFCenter“Token 管理”中为指定用户生成长期有效 Token,通过系统变量注入。
- 在调用其他应用接口的 REST 图元中,手动设置请求头
- 补丁(解决 systemVars 获取失败):
- 打补丁
PLATFORM_8.3.3_AFCENTER_20250526_P1。
- 打补丁
- 模拟登录(解决 401):
# 4. 数据源管理功能问题
# 4.1 IDE 中无法选择数据源或加载表结构
- 现象:
- 开发中心点击【数据源】下某数据源(如 Oracle)后,页面一直“加载中”。
- 无法将表从数据源拖拽至数据集画布。
- 排查与处理:
- 更换驱动:
- 使用
server/afcenter/lib/jdbc下自带驱动,或从官方下载匹配版本替换。
- 使用
- 权限检查:
- 确保连接用户对业务表有
SELECT权限,且有查询系统表(读取元数据)的权限。
- 确保连接用户对业务表有
- 补丁:
- 若为 Oracle 数据源,建议先打补丁合集或补丁
PLATFORM_8.3.3_AFCENTER_20250611_P1。
- 若为 Oracle 数据源,建议先打补丁合集或补丁
- 更换驱动: