JAVA数据源

时间:2012-10-26 15:14:28

标签: java jdbc weblogic

我正在尝试使用我在weblogic服务器上设置的数据源。 datasource JNDI name = thinOracleDataSource

在我的代码中我有以下

public class DAOBean implements java.io.Serializable {
private Connection conn;
public void connect() throws ClassNotFoundException,
SQLException, NamingException {
Context ctx = new InitialContext();
// Lookup using JNDI name.
DataSource ds = (javax.sql.DataSource) ctx.lookup("thinOracleDataSource");
conn = ds.getConnection();

}

但是我收到了这个错误

 javax.naming.NameNotFoundException: While trying to look up /thinOracleDataSource in /app/webapp/PreAssignment2/24911485.; remaining name '/thinOracleDataSource'
我正以正确的方式看待JNDI的名字吗?还是我错过了什么?谢谢你的帮助!!

编辑: 这是我可以从weblogic控制台获取的jndi树 enter image description here

2 个答案:

答案 0 :(得分:3)

尝试在Weblogic中命名数据源jdbc/thisOracleDataSource并将其引用为:

DataSource ds = (javax.sql.DataSource) ctx.lookup("jdbc/thinOracleDataSource");

此外,请确保数据源“定位”到您的weblogic Java服务器。所有这些都可以在Weblogic管理控制台中完成。

答案 1 :(得分:1)

您的JNDI密钥应该近似"java:comp/env/jdbc/thinOracleDataSource"。 您可以使用允许在JNDI中访问(并可能搜索)的Weblogic控制台来验证它。因此,您可以在编写代码之前手动检查。