javax.naming.NameNotFoundException:带有SQL Server的JBOSS上的env / jdbc / DataSource

时间:2016-07-01 09:24:16

标签: sql-server oracle jdbc jboss

我的domain.xml中的JNDI名称是

Context.lookup的定义如下:

dsName =" java:comp / env&#34 ;;

Context ctx =(Context)new javax.naming.InitialContext();

上下文envCtx =(上下文)ctx.lookup(dsName);

DataSource ds =(DataSource)envCtx.lookup(" jdbc / DataSource");

conn = ds.getConnection();

当使用以下配置连接到SQLserver时,我得到以下异常,因为它可以正常使用Oracle。查找名称不能正确验证,连接对象变为空。

javax.naming.NameNotFoundException:env / jdbc / DataSource

org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:104)中的错误[stderr](ServerService线程池 - 78)

org.jboss.as.naming.NamingContext.lookup(NamingContext.java:197)中的错误[stderr](ServerService线程池 - 78) 显示java.lang.NullPointerException

甚至尝试过像

这样的事情

DataSource ds =(DataSource)envCtx.lookup(" java:comp / env / jdbc / DataSource");

有人可以建议吗。

由于

1 个答案:

答案 0 :(得分:1)

检查管理控制台中的日志和/或JNDI树。

试试这些:

"java:DataSource"
"java:jboss/datasources/DataSource"

如果没有,请在此处粘贴配置文件中的数据源配置部分(例如standalone.xml)