gpt4 book ai didi

java - Tomcat 7 和 Oracle 连接池

转载 作者:行者123 更新时间:2023-11-28 23:39:58 24 4
gpt4 key购买 nike

我正在尝试将连接池与 tomcat 7 一起使用并连接到 Oracle 数据库。目前我的上下文看起来像这样

<Resource 
type="org.apache.tomcat.jdbc.pool.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
url="my-url"
username="username"
password="password"

我正在使用 google guice 注入(inject)数据源,

bind(Context.class).to(InitialContext.class);
bind(DataSource.class).toProvider(fromJndi(OracleDataSource.class,"java:comp/env/jdbc/nameToUse"));

但是它似乎确实在创建提供程序,但无论何时调用它,我总是会遇到运行时错误

javax.naming.NamingException: ORA-01017: 用户名/密码无效;登录被拒绝

即使登录详细信息绝对正确 - 如果我切换回连接数据库的旧方法,它们也能正常工作。我是在使用 Guice 做错了什么,还是 Oracle(我相信是 9i)的连接池设置不同?

非常感谢任何帮助

最佳答案

除了在 Resource 元素中设置用户名和密码属性外,您还需要在 URL 中包含用户名和密码。

例如

<Resource 
type="org.apache.tomcat.jdbc.pool.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
url="jdbc:oracle:thin:joebob/jbpass@mydbhost.example.com:1521/db"
username="joebob"
password="jbpass" ... />

关于java - Tomcat 7 和 Oracle 连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20712612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com