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

时间:2016-04-23 20:30:21

标签: jndi

我正在开发一个在jdk 1.7上配置的应用程序

它使用JNDI与Oracle DataSource建立连接。

我认为JNDI名称未绑定到服务器。

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

在'cache'中查找JNDI名称,如果未找到,则在'initialContext'中查找它。但它从两个地图中都是空的。

我面临的错误是: 未找到JNDI名称。

我已尝试以下步骤来解决此问题:

  1. 添加< resource-ref>在应用程序web.xml文件中如下 - < resource-ref> <描述> MySQL数据源示例< / description> < res-ref-name> jdbc / myDB< / res-ref-name> <水库型> javax.sql.DataSource中< / res-type> < RES-AUTH>集装箱 < / resource-ref>

  2. 添加<资源>服务器的server.xml文件中的标记如下 - <上下文>    <资源名称=“jdbc / myDB”auth =“容器”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“/> < /上下文>

  3. 将上述第一行更改为:  DataSource ds =(DataSource)ServiceLocator.getinstance()。getDataSource(“java:comp / env / jdbc / myDB”);

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

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

1 个答案:

答案 0 :(得分:1)

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