一直在试图在Tomcat中为应用程序设置一个数据源。我所采取的步骤是
在代码中使用数据源jdbc/mydb javax.sql.DataSource容器
公共类MyServlet扩展了HttpServlet {私有DataSource ds;公共void (){ try {DataSource=新的InitialContext();ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mydb");}DataSource (NamingException e) { e.printStackTrace();}受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException {//这是抛出异常的地方-- conn = ds.getConnection();//.处理连接}
但请继续获取以下错误
在映射过程中遇到异常。错误:无法创建org.apache.tomcat.dbcp.dbcp.SQLNestedException: PoolableConnectionFactory (ORA-01017:无效用户名/密码;登录拒绝) PoolableConnectionFactory不能创建PoolableConnectionFactory (ORA-01017:无效用户名/密码;登录拒绝)
我知道用户名和密码是正确的。因为下面的代码可以工作
Class.forName("oracle.jdbc.OracleDriver").newInstance();
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@gpqa6.myserver.com:1526:gpqa6", "foo", "foobar");我甚至尝试输入一个无效的url,但仍然得到相同的错误。怎么回事?
另外,Tomcat有类似于WebLogic或Glassfish的数据源测试方法吗?
发布于 2012-05-02 14:14:04
现在起作用了。似乎是在我用下面的代码建立了连接之后
Class.forName("oracle.jdbc.OracleDriver").newInstance();
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@gpqa6.myserver.com:1526:gpqa6", "foo", "foobar");然后切换到使用数据源,这很好。也许是缓存问题?
更新--这是一个缓存问题我只需删除\conf\Catalina文件夹。
这个链接真的很有帮助。http://pwu-developer.blogspot.com/2010/02/why-isnt-my-datasource-configuration.html
https://stackoverflow.com/questions/10404981
复制相似问题