2013-03-12 20 views
5

kullanarak hatayı bağlantı havuzu anlayamıyorum persistence.xml kod gibi:Tomcat için <code>context.xml</code> aşağıdaki kodu var JPA Tomcat, Oracle

<persistence-unit name="ReceivablesPU" transaction-type="RESOURCE_LOCAL"> 
     <provider>oracle.toplink.essentials.PersistenceProvider</provider> 
     <non-jta-data-source>java:ds/OracleDS</non-jta-data-source> 

ben 012 anlamıyorum, <Resource name="ds/OracleDS", <res-ref-name>ds/OracleDS</res-ref-name>. hatadır: persistence.xml yılında

javax.persistence.PersistenceException: Exception [TOPLINK-7060] (Oracle TopLink Essentials - 2.0 (Build b40-rc (03/21/2007))): oracle.toplink.essentials.exceptions.ValidationException 
Exception Description: Cannot acquire data source [java:ds/OracleDS]. 
Internal Exception: javax.naming.NamingException: This context must be accessed through a java: URL 

cevap

0

i değişiklikleri: web.xml''deki

<Resource name="OracleDS" auth="Container" type="javax.sql.DataSource" 
    maxActive="1" maxIdle="2" maxWait="2" 
    username="demo" password="demo" 
    driverClassName="oracle.jdbc.driver.OracleDriver" 
    url="jdbc:oracle:thin:@localhost:1521:orcl"/> 

i değişiklikleri:

<resource-ref> 
    <description>Oracle Datasource example</description> 
    <res-ref-name>OracleDS</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
    </resource-ref> 

ı p değişikliği ersistence.xml

i çıktı ....
2

, üçüncü satır, aşağıdaki gibi görünmelidir: contex.xml içinde

 <non-jta-data-source>java:comp/env/ds/OracleDS</non-jta-data-source> 
0

benzer bu cevaba bakınız (ancak soruyu kopyalamak değil) Lütfen var sonra
<persistence-unit name="ReceivablesPU" transaction-type="RESOURCE_LOCAL"> 
     <provider>oracle.toplink.essentials.PersistenceProvider</provider> 
     <non-jta-data-source>java:comp/env/OracleDS</non-jta-data-source> 

:

Jetty Data Source, Hibernate, datasource not found

Java EE bağlı Web uygulaması kapsayıcısı, "ds/OracleDS" adlı bir veri kaynağı için JNDI içeriğinin, bunu yaparken (örneğin, persistence.xml dosyasındaki gibi) ele alırken "java: comp/env" ile önekini eklemeniz gerekebilir. Tomcat sizin özel durumda

, aşağıdaki çalışacaktı:

<Resource name="ds/OracleDS" auth="Container" type="javax.sql.DataSource" 
maxActive="1" maxIdle="2" maxWait="2" 
username="demo" password="demo" 
driverClassName="oracle.jdbc.driver.OracleDriver" 
url="jdbc:oracle:thin:@localhost:1521:orcl"/> 

Gerçekten yok senin web.xml''deki şeye ihtiyacım. context.xml yukarıdaki yapılandırma persistence.xml koymak olarak Tomcat

Son olarak Jndi kaynak olarak veri kaynağı maruz yapacak:

<persistence-unit name="ReceivablesPU" transaction-type="RESOURCE_LOCAL"> 
     <provider>oracle.toplink.essentials.PersistenceProvider</provider> 
     <non-jta-data-source>java:comp/env/ds/OracleDS</non-jta-data-source>