我在 context.xml
中有以下代码对于 Tomcat:
<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"/>
我在 web.xml
中有这段代码:
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>ds/OracleDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
我在persistence.xml
写过代码喜欢:
<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>
我不明白java:ds/OracleDS
, <Resource name="ds/OracleDS"
, <res-ref-name>ds/OracleDS</res-ref-name>
.错误是:
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
最佳答案
在 persistence.xml
中,您的第三行应该如下所示:
<non-jta-data-source>java:comp/env/ds/OracleDS</non-jta-data-source>
关于tomcat - 无法理解使用 JPA、Tomcat、Oracle 的连接池错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15360373/