在使用hibernate对象关系映射连接和创建表的时候,会涉及到很多权限问题,有些数据库管理会将权限设的很细,我们可以根据后台日志错误和异常信息作出判断。
比如下图所示这个错误(这是我在给银行投产系统上线碰到的数据库问题之一),首先定位到第一个error信息处,可以看到 是一个 select 查询语句出问题了,说没有这个表,这张表是 v$parameter 表,就是动态字典表,也即是视图表。
在连接这个数据库的时候,已经 grant create view to user 了,但是还是出现了这个问题,所以当时就推断是不是没有这个表的查询权限,因为对orcle也不是很精通,权限这一块也不清楚orcle管理员
是怎么设置的,所以问了一下他,他说确实需要权限,加了以后,就OK了!
一般碰到这些问题,在保证代码没有问题的情况下,大多都是权限问题,有些管理员权限分的很细,做了很多控制。
有些问题我们也不可避免的会碰到,在碰到问题是,一定要根据日志来分析推断问题,这样解决起来也比较快,从第一个异常或者错误开始。
但是有时候日志也会对我们进行误导,所以要多方考虑,确认其他环境是否无有问题,进行判断排查。