You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WebLogic Server 10.3.6数据源配置连接异常求助

问题:WebLogic 10.3.6数据源配置及Eclipse服务器添加报错
  • 已安装Oracle WebLogic Server 10.3.6并配置数据源,Eclipse添加服务器时出现报错(截图1)
  • 删除数据源重新配置后,WebLogic管理控制台测试连接仍失败(截图2),数据库凭据确认无误
  • 已尝试删除并重新配置数据源,问题未解决

Eclipse报错信息

javax.naming.NameNotFoundException: While trying to lookup 'jdbc.OracleDS' didn't find subcontext 'jdbc'. Resolved ''; remaining name 'jdbc/OracleDS'
    at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
    at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:247)
    at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
    at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:412)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at com.ehis.eslp.ServiceLocator.getDataSource(ServiceLocator.java:180)
    at com.ehis.eslp.ServiceLocator.getConnection(ServiceLocator.java:388)
    at webbeans.eCommon.ConnectionManager.getConnection(ConnectionManager.java:83)
    at eMR.smrp.GeneratePD102$JobSchedulePD102.main(GeneratePD102.java:890)
    at eMR.smrp.GeneratePD102.init(GeneratePD102.java:35)
    at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
    at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
    at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1981)
    at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1955)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1874)
    at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3154)
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1518)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:484)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
    at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
    at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)

WebLogic管理控制台报错信息

Connection test failed.
Message icon - Error Could not establish a connection because of java.lang.NullPointerException<br/>weblogic.jdbc.common.internal.DataSourceUtil.testConnection(DataSourceUtil.java:350)<br/>com.bea.console.utils.jdbc.JDBCUtils.testConnection(JDBCUtils.java:734)<br/>com.bea.console.actions.jdbc.datasources.createjdbcdatasource.CreateJDBCDataSource.testConnectionConfiguration(CreateJDBCDataSource.java:474)<br/>sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br/>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br/>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br/>java.lang.reflect.Method.invoke(Method.java:597)<br/>org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:870)<br/>org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:809)<br/>org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:478)<br/>org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:306)<br/>org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:336)<br/>org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:52)<br/>org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)<br/>org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97)<br/>org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044)<br/>org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:64)<br/>org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptor.wrapAction(ActionInterceptor.java:184)<br/>org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.invoke(ActionInterceptors.java:50)<br/>org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:58)<br/>...

解决方案

1. 检查并创建JDBC子上下文

  • 登录WebLogic管理控制台,进入域名 -> 服务 -> JNDI树,确认是否存在jdbc子节点
  • 若不存在,重新创建数据源:
    1. 进入域名 -> 服务 -> 数据源 -> 通用数据源,点击新建 -> Generic Data Source
    2. 配置时确保JNDI名称前缀为jdbc/(如jdbc/OracleDS)
    3. 保存并激活更改后,重启WebLogic服务器,刷新JNDI树确认jdbc节点生成

2. 修复数据源空指针问题

空指针多由配置项缺失或无效导致:

  • 确认数据库驱动类名为oracle.jdbc.OracleDriver,且ojdbc6.jar已放置在WL_HOME/server/lib目录(WebLogic 10.3.6适配JDK 6,对应ojdbc6)
  • 检查数据库URL格式:jdbc:oracle:thin:@<主机IP>:<端口>:<SID>或jdbc:oracle:thin:@//<主机IP>:<端口>/<服务名>
  • 验证连接池参数(初始连接数、最大连接数等)无非法值,保存配置后重新测试连接

3. 同步Eclipse服务器配置

  • 删除Eclipse中现有WebLogic服务器实例:进入Window -> Show View -> Servers,右键删除
  • 重新添加服务器:选择对应版本的WebLogic,指向正确安装目录,勾选自动发布选项
  • 确认项目中数据源引用的JNDI名称与WebLogic配置完全一致(jdbc/OracleDS)

4. 验证驱动包完整性

  • 检查WL_HOME/server/lib下是否存在正确版本的Oracle JDBC驱动,缺失则下载对应版本放入目录后重启WebLogic
  • 避免项目中重复引入驱动包,防止类加载冲突

内容的提问来源于stack exchange,提问作者Marwan Emad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 01:53:09