2013-12-20 196 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" ... />