首页 文章

如何在Pivotal TC服务器中配置Oracle数据源JNDI?

提问于
浏览
0

我正在研究在jdk 1.7上配置的应用程序

它使用JNDI来获取与Oracle DataSource的连接 .

我相信JNDI名称没有绑定到服务器 .

行:DataSource ds =(DataSource)ServiceLocator.getinstance() . getDataSource(jndiName); // jndiName =“jdbc / myDB”

在'cache'中查找JNDI名称,如果找不到,则在'initialContext'中查找它 . 但它从两个 Map 中都是空的 .

我面临的错误是:找不到JNDI名称 .

我已经尝试了以下步骤来解决这个问题:

  • 在应用程序web.xml文件中添加了<resource-ref>,如下所示 - <resource-ref> <description> MySQL数据源示例</ description> <res-ref-name> jdbc / myDB </ res-ref-name> <res-type> javax.sql.DataSource </ res-type> <res-auth> Container </ resource-ref>

  • 在服务器的server.xml文件中添加了<Resource>标记,如下所示 - <Context> <Resource name =“jdbc / myDB”auth =“Container”type =“javax.sql.DataSource”maxActive =“50”maxIdle =“30”maxWait =“10000”username =“mysqluser”password =“mysqlpassword”driverClassName =“oracle.jdbc.xa.client.OracleXADataSource”url =“jdbc:mysql:// localhost / myDB”/> </ Context >

  • 将上面提到的第一行更改为:DataSource ds =(DataSource)ServiceLocator.getinstance() . getDataSource(“java:comp / env / jdbc / myDB”);

  • 将ojdbc14.jar添加到服务器的lib文件夹中

下一步解决这个问题的方法应该是什么?

1 回答

  • 1

    对于(3)不要使用ojdbc14.jar,它已经很老了 . 使用最新的12.1.0.2版本中的ojdbc7.jar . 您可以从here下载它 .

相关问题