背景:生产环境dba只开通了指定用户名对指定几张表的增删改查权限
c3p0配置有一行是:
<property name="automaticTestTable" value="test_timeout"/>
接下来报错没有建表权限,原来这个配置是c3p0建立临时表维护链接用的,所以使用的用户必须要有建表权限,而我们的生产环境不允许有ddl权限。
在百度大神的帮助下将配置改为:
<property name="preferredTestQuery" value="select id from dual where id=1"/>
问题解决了!!!!直接执行语句维护链接,不建表(其实建表也是用来select的)。(备注:上述语句中的表确保在目标数据库中存在)