![](/img/trans.png)
[英]Can't connect to Oracle with Glassfish JDBC connection pool, AccessControlException is thrown
[英]I wonder how can I connect tomcat to oracle jdbc pool
我的代码对吗? 在context.xml中,我这样添加。 driveClassName或url可能有问题?
<Resource name="jdbcoracle" auth="Container" type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
maxActive="20"
maxIdle="1"
maxWait="100"
username="test"
password="test"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:8080/orcl"/>
在tomcat和project的web.xml中,像这样添加
<resource-ref>
<description>oracle Connection</description>
<res-ref-name>jdbc/oracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
但似乎仍然是
javax.servlet.ServletException: javax.naming.NamingException: Could not load resource factory class [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]
所以我该怎么做? 顺便说一句,因为8080无法正常工作,我将雄猫的端口号更改为8081。
您tomcat-dbcp.jar
在类路径中错过tomcat-dbcp.jar
。 下载并将其添加到类路径。
根据参考,这看起来不错,但有一个例外(如果您只是复制/粘贴了声明):
在<Resource>
声明中,您具有name="jdbcoracle"
而在<resource-ref>
您使用jdbc/oracle
name="jdbcoracle"
注意斜杠。
我仅在最初回答后8个小时才看到:您声明数据库URL指向端口8080-这通常是一个管理界面(也是tomcat无法在此端口上运行的原因),而Oracle的DB端口以前是1521(除非您进行了更改)。
另外,按照詹斯(Jens)的建议检查您的类路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.