Springboot 多数据源 查看当前数据源方法

要确定当前数据源是否存在问题,可以通过以下几个方面进行排查:

## 1. 检查数据源配置

- 查看 `application.yml` 或 `application.properties` 文件中的数据源配置
- 确认数据库连接URL、用户名、密码是否正确
- 验证驱动类配置是否匹配目标数据库类型

## 2. 测试数据库连接

```java
// 可以在服务中添加一个简单的连接测试方法
@Autowired
private DataSource dataSource;

public void testConnection() {
    try (Connection conn = dataSource.getConnection()) {
        System.out.println("数据库连接成功: " + conn.getMetaData().getURL());
    } catch (SQLException e) {
        System.err.println("数据库连接失败: " + e.getMessage());
    }
}
```


## 3. 验证当前连接的数据库实例

```sql
-- 执行以下SQL查询当前连接信息
SELECT SYS_CONTEXT('USERENV', 'DB_NAME') AS DATABASE_NAME,
       SYS_CONTEXT('USERENV', 'SESSION_USER') AS CURRENT_USER,
       SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') AS CURRENT_SCHEMA
FROM DUAL;
```


## 4. 检查用户权限

```sql
-- 查询当前用户对目标模式的访问权限
SELECT * FROM USER_TAB_PRIVS WHERE TABLE_SCHEMA = 'PORTAL55_HIS';
-- 或者查询所有可访问的对象
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM ALL_OBJECTS 
WHERE OWNER = 'PORTAL55_HIS' AND OBJECT_NAME = 'V_MZ_PATIENT';
```


## 5. 验证目标视图存在性

```sql
-- 检查视图是否存在于指定模式中
SELECT OWNER, VIEW_NAME FROM ALL_VIEWS 
WHERE OWNER = 'PORTAL55_HIS' AND VIEW_NAME = 'V_MZ_PATIENT';
```


通过以上步骤可以有效判断数据源配置是否正确以及是否存在访问权限问题。
posted @ 2025-12-09 10:27  七彩鱼丸  阅读(2)  评论(0)    收藏  举报