这个问题我找了很久。。。。最后解决了!
我之前模仿一个老项目自己建了一个新项目,然后回过头来老项目用不了,启动tomcat超慢,而且出现
java.sql.SQLSyntaxErrorException: Unknown database 'cookieshop'
还有
java.sql.SQLException: Connections could not be acquired from the underlying
这样的报错。
看了很多篇文章都没头绪,但做程序员最重要的是冷静。
于是我细细回想整个操作过程,因为老项目早上之前是可以运行的,为什么现在中午时候会报这个错呢?
我记得早上就是操作了SQLyog这个软件
我由于要弄新项目就把老项目的数据库删掉了,过程的记忆比较模糊。【后来发现就是这里出现了错误】
下面是正确的处理方法:
1.既然给你报错java.sql.SQLSyntaxErrorException: Unknown database 'cookieshop'的话,那么你就要在SQLyog里面新建一个同样名字的数据库,即cookieshop。绝对不能是其他名字的数据库,我早上修改的时候,就是删掉原来的数据库,新建了自己名字缩写的数据库,然后导入sql语句,造成了报错。
如果你自己创建并导入sql语句的某一个数据库是错误的,删掉就行。
【注:你别把整个root@localhost都删除清空了,点击其中那个你创建的错误的数据库删除就行】
然后创建一个正确的名字的数据库,并右键导入sql语句。
执行完打开项目再次运行,超级快哈哈哈哈哈哈
也就是说在c3p0-config.xml文件里,你看如果我随便修改一下这个,把
cookieshop多加一个c试一试,变成ccookieshop,
你看就会大量报错了,所以这里也是有点关联的
那么这里我重新改回来,改为cookieshop,
再次运行,
速度很快,我算了一下,也就5秒,立刻就弹出你自己写的网页,不会再报错
所以话说回来,一般你在c3p0-config.xml这个文件里定义好,那么你在外面的软件创建数据库的名字一定要对应好,没对应一定会打开缓慢及报错。
太爽了,这也许就是解决问题的快乐吧,如果你看了本文也解决了该问题,麻烦下方点个赞谢谢!