严重: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied

     刚接触oracle不久,今天写项目需要用到oracle,在用开发工具MeEclipse链接oracle数据库时出现问题:    

       百思不得其解,在plsql上证实用户名和密码都是正确的,用plsql工具可以连上数据库,为什么到MyEclipse上就连不上了呢,大量的百度,都是说用户名或者密码不对,但是我肯定的是它们都对,郁闷了半天,我甚至干了一件疯狂的事,把服务器上的数据库备份出来,导入到本地数据库上重新连接,结果还是一样的错误。真是叫我抓狂了一番。

       后来看到一个帖子上说去Tomcat目录下的conf目录,把context.xml里面的context里的配置核实一下,看是不是用户名密码都对,进去一看,果然有猫腻,用户名,密码不对,遂改之,重新跑起来,问题解决了。

        但是在这里有个问题出来了,我们知道在Tomcat上部署项目的时候,Tomcat会自动在Tomcat 6.0/conf/Catalina/localhost里面生成一个xml文件,将数据库的配置放进去,那么在这里为什么Tomcat 6.0/conf下面会有一个context.xml文件呢,它和Tomcat 6.0/conf/Catalina/localhost下面的xml文件有什么关系呢?查找了一番,说是Tomcat 6.0/conf 下的context.xml是Tomcat默认自带的一个文件,不建议在里面配置数据库。如果在里面配置的话,因为路径优先问题Tomcat 会先找到它,从而没有进到Tomcat 6.0/conf/Catalina/localhost  下的xml文件中,导致了错误。

     碰到这类问题的解决办法:1,首先要检查MyEclipse中数据库配置文件中用户名密码,url等是否正确,这一点是最重要的,不然你的项目怎么可能连到数据库。                      

                                               2,先看看Tomcat 6.0/conf下context.xml里面是不是配置了你访问的数据库

                                               3,没有配置的话就检查Tomcat 6.0/conf/Catalina/localhost下对应的xml文件配置是否正确,配置了的话修改正确也可以,或者删除然后在Tomcat 6.0/conf/Catalina/localhost下对应的xml文件中配置正确也可以   

 

你可能感兴趣的:(严重: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied)