Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle Webshpere数据源错误:无法查找JNDI名称_Oracle_Hibernate_Websphere_Datasource_Jndi - Fatal编程技术网

Oracle Webshpere数据源错误:无法查找JNDI名称

Oracle Webshpere数据源错误:无法查找JNDI名称,oracle,hibernate,websphere,datasource,jndi,Oracle,Hibernate,Websphere,Datasource,Jndi,我正在用Hibernate和WebSphereApplicationServer8.0开发一个应用程序 我已经在Websphere中创建了一个数据源,它可以成功地连接到数据库 但从应用程序中,我得到以下错误: SystemErr创建会话时出错:org.hibernate.service.jndi.JndiException:无法查找jndi名称[java:comp/env/jdbc/OracleDS] 以下是我所做的设置: Websphere数据源设置: hibernate.cfg.xml

我正在用Hibernate和WebSphereApplicationServer8.0开发一个应用程序

我已经在Websphere中创建了一个数据源,它可以成功地连接到数据库

但从应用程序中,我得到以下错误:

SystemErr创建会话时出错:org.hibernate.service.jndi.JndiException:无法查找jndi名称[java:comp/env/jdbc/OracleDS]

以下是我所做的设置:

  • Websphere数据源设置:
  • hibernate.cfg.xml
  • web.xml

  • 当我试图进入会话时,它会给我错误:

    HibernateUtil.java:

    try
        {
            Configuration configuration = new Configuration().configure();
            serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
            sessionFactory = configuration.buildSessionFactory(serviceRegistry);
        }
        catch (HibernateException he)
        {
            System.err.println("Error creating Session: " + he);
            throw new ExceptionInInitializerError(he);
        }
    
    错误:

    java.lang.NullPointerException 位于com.ibm.ws.webcontainer.metadata.WebComponentMetaDataImpl.getJavaNameSpace(WebComponentMetaDataImpl.java:143) 位于com.ibm.ws.threadContext.JavaNameSpaceAccessorImpl.getJavaNameSpace(JavaNameSpaceAccessorImpl.java:79) 位于com.ibm.ws.naming.java.javaURLContextFactory.createURLContextRoot(javaURLContextFactory.java:137) 位于com.ibm.ws.naming.urlbase.UrlContextFactory.getObjectInstance(UrlContextFactory.java:101) 位于org.apache.aries.jndi.URLContextProvider.getContext(URLContextProvider.java:43) 位于org.apache.aries.jndi.DelegateContext.getURLContext(DelegateContext.java:252) 位于org.apache.aries.jndi.DelegateContext.findContext(DelegateContext.java:214) 位于org.apache.aries.jndi.DelegateContext.findContext(DelegateContext.java:207) 位于org.apache.aries.jndi.DelegateContext.lookup(DelegateContext.java:157) 在javax.naming.InitialContext.lookup(InitialContext.java:432)中 位于org.hibernate.service.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:65) 位于org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.configure(DatasourceConnectionProviderImpl.java:116) 位于org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) 位于org.hibernate.engine.jdbc.internal.jdbcservicesiml.buildJdbcConnectionAccess(jdbcservicesiml.java:223) 位于org.hibernate.engine.jdbc.internal.jdbcservicesiml.configure(jdbcservicesiml.java:89) 位于org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) 位于org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1818) 位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1776) 在com.test.util.HibernateUtil.(HibernateUtil.java:25)

    创建会话时出错:org.hibernate.service.jndi.JndiException:无法查找jndi名称[java:comp/env/jdbc/OracleDS]

    请让我知道我错过了什么

    我尝试了更多次,现在我发现以下错误:

    FFDC异常:javax.naming.NamingException SourceId:com.ibm.ws.naming.java.javaURLContextFactory.createURLContextRoot问题ID:142报告者:java.lang。Class@dfac0b43 javax.naming.NamingException:NMSV0308W:javaURLContextFactory无法创建javaURLContext对象,因为当前没有可从执行线程访问的java URL名称空间。 位于com.ibm.ws.naming.java.javaURLContextFactory.createURLContextRoot(javaURLContextFactory.java:170) 位于com.ibm.ws.naming.urlbase.UrlContextFactory.getObjectInstance(UrlContextFactory.java:101) 位于org.apache.aries.jndi.URLContextProvider.getContext(URLContextProvider.java:43) 位于org.apache.aries.jndi.DelegateContext.getURLContext(DelegateContext.java:252) 位于org.apache.aries.jndi.DelegateContext.findContext(DelegateContext.java:214) 位于org.apache.aries.jndi.DelegateContext.findContext(DelegateContext.java:207) 位于org.apache.aries.jndi.DelegateContext.lookup(DelegateContext.java:157) 在javax.naming.InitialContext.lookup(InitialContext.java:432)中 位于org.hibernate.service.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:65) 位于org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.configure(DatasourceConnectionProviderImpl.java:116) 位于org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) 位于org.hibernate.engine.jdbc.internal.jdbcservicesiml.buildJdbcConnectionAccess(jdbcservicesiml.java:223) 位于org.hibernate.engine.jdbc.internal.jdbcservicesiml.configure(jdbcservicesiml.java:89) 位于org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) 位于org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1818) 位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1776) 在com.test.util.HibernateUtil.(HibernateUtil.java:25)


    您是否在引用和JNDI名称之间创建了绑定

    你能做到

    • 使用管理控制台-
      enterpriseapplication>ApplicationName>Resource