2011-06-24 51 views
9

Đang làm việc trên Dịch vụ web ... và là người mới bắt đầu, Đang cố gắng kết nối Oracle Db trong dịch vụ Tệp và đang gặp lỗi bên dưới:javax.naming.NameNotFoundException: Tên jdbc không bị ràng buộc trong Bối cảnh này

javax.naming.NameNotFoundException: Name jdbc is not bound in this Context 
    at org.apache.naming.NamingContext.lookup(NamingContext.java:770) 
    at org.apache.naming.NamingContext.lookup(NamingContext.java:153) 
    at DatabaseConnection.shamDBConn.getShamStage(shamDBConn.java:25) 
    at lineItemPrice.itemDetails.getUserId(itemDetails.java:17) 
    at ServerSevices.availableServices.useridService(availableServices.java:11) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194) 
    at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102) 
    at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) 
    at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) 
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) 
    at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) 
    at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Thread.java:619) 

Và refered bên dưới liên kết cho cấu hình DB trong Apache Tomcat 6.0.32 với Oracle 10g

http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html

ni đã thực hiện các thiết lập như bên dưới: enter image description here

Và đang nhận được lỗi cho bên dưới dòng:

DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle"); 

tôi thiếu cái gì ....?

Cảm ơn bạn .........

+1

bạn đã từng có giải pháp cho vấn đề này chưa? – asgs

+0

bạn có tìm thấy giải pháp không? –

Trả lời

11

Vấn đề của bạn là bạn cần phải thêm tiền tố chuỗi jndi của bạn với java:/comp/env

Vì vậy, trong trường hợp thử của bạn:

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

Điều đó sẽ giải quyết được vấn đề.

+0

Vấn đề với việc đó là tệp WAR giống nhau sẽ không hoạt động trên Weblogic, vì nó không giống như tiền tố "java: comp/env" chuẩn –

0

Tôi cũng đi qua với vấn đề này, nhưng trong trường hợp của tôi, tôi đã cố định bằng cách thêm dòng dưới đây:

<ResourceLink global="jdbc/myoracle" name="jdbc/myoracle" type="oracle.jdbc.pool.OracleDataSource"/> 

để tomcat file conf ->context.xml.

Các vấn đề liên quan