数据库切换Schema

1.背景

在生产上部署了一个小web应用,用于从各个交易系统查询最新流水并展示, 由于年代久远,最初仅用于一个系统而且并未考虑风险等问题直接使用交易系统的数据库用户名密码,最近要求修改数据库用户为只读的查询用户.

2.解决方法

刚开始考虑直接修改SQL语句,类似

select * from log

修改为

select * from produser.log
```
后来发现需要修改的SQL太多遂搜索设置默认schema的解决方案
## 2.1 Oracle修改默认schema
在创建数据库连接后,执行以下SQL语句
```
alter session set current_schema = 'produser';
```
## 2.2 DB2修改默认schema
DB2则可以在JDBC连接中直接指定currentSchema
```
jdbc:db2://dbhost:60000/database:currentSchema=db2inst1;
```
注意:
1. jdbc连接最后必须有分号
2. currentSchema名称测试时必须输入大写,小写似乎有问题
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容