2013-12-20 202 views
0

我正在尝试将连接池与tomcat 7连接并连接到Oracle数据库。在一分钟我的背景是这样的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" 

我使用谷歌吉斯注入数据源,

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我相信)的连接池设置不同?

任何帮助深表感谢

+0

是你的用户名和密码在引号中?如果这样删除它们。 –

+0

没了,周围无报价 - 确切相同的用户名和密码的工作,每当我恢复到旧的context.xml TYPE =“oracle.jdbc.pool.OracleDataSource” driverClassName =“oracle.jdbc.OracleDriver” 厂= “oracle.jdbc.pool.OracleDataSourceFactory” – KingTravisG

回答

0

你需要在URL中包含用户名和密码 - 除了设置用户名和密码在资源元素的属性。

E.g.

<Resource 
type="org.apache.tomcat.jdbc.pool.DataSource" 
driverClassName="oracle.jdbc.OracleDriver" 
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" 
url="jdbc:oracle:thin:joebob/[email protected]:1521/db" 
username="joebob" 
password="jbpass" ... />