No reconoce a procedimiento Que tal amigo/as, no sé cuál es el problema, tengo la función, en la que me conecto a la base de oracle, desde Java, hasta ahí todo bien, pero el rato que llamo a un procedimiento, no lo reconoce. En cambio si reemplazo el nombre por una consulta a una tabla de la base, si me da los valores, quée podría ser?? Por si aca envío la llamada al procedimiento y el error. Graciassssss logon(Connection connection, String nombreUsuario)throws SQLException{ CallableStatement call=connection.prepareCall("{?= call sp_adminLstUsuarios(?)}"); //call.setInt(1, 0); call.registerOutParameter(1, Types.INTEGER); call.setInt(2, 1); ResultSet resultSet = call.executeQuery();//de aquí me salta a la excepción ............... Conexion establecida Error en la conexion a la BD java.sql.SQLException: ORA-06550: línea 1, columna 13: PLS-00222: en este ámbito no existe ninguna función cuyo nombre sea 'SP_ADMINLSTUSUARIOS' ORA-06550: línea 1, columna 7: PL/SQL: Statement ignored |
Respuesta: No reconoce a procedimiento esta raro, por el ORA-06550 parece un error de ejecucion en la funcion, aunque por el segundo mensaje pareciera que no existe esa funcion para ese usuario, prueba intentando ejecutar la funcion entrando directamente con sql*plus, toad, etc. |
Respuesta: No reconoce a procedimiento Que tal, le probé en sqlplus, y dice procedimiento ejecutado correctamente, en sqldeveloper, igual funciona correctamente, le probé con y sin parámetros y funciona, pero el rato que llamo desde java, se conecta a la base pero no reconoce ningún procedimiento, porque le probé con otro y me sale que no existe. Por si acaso revisé los privilegios,pero con el nombre de usuario si puedo manipular, ejecutar ,etc los procedimientos Graciasss....qué haréee |
Respuesta: No reconoce a procedimiento Que tal, le probé en sqlplus, y dice procedimiento ejecutado correctamente, en sqldeveloper, igual funciona correctamente, le probé con y sin parámetros y funciona, pero el rato que llamo desde java, se conecta a la base pero no reconoce ningún procedimiento, porque le probé con otro y me sale que no existe. Por si acaso revisé los privilegios,pero con el nombre de usuario si puedo manipular, ejecutar ,etc los procedimientos Graciasss....qué haréee |
Respuesta: No reconoce a procedimiento Hola jatari, los procedimientos no devuelven un valor, eso lo hacen las funciones. Creo que estás llamando al procedimiento como si fuera una función ('?= call sp_adminLstUsuarios(?)'). Te dejo dos sencillos ejemplos que me funcionan, uno para llamar a una función y otro para un procedimiento: Código:
|
Respuesta: No reconoce a procedimiento Gracias, voy a revisarle y te aviso... |
Respuesta: No reconoce a procedimiento Gracias por la explicación de funciones y procedimientos, tengo más claro ahora... le probé así,pero no sé si es cuestión del eclipse, o qué mismo. Pasa de estás líneas: CallableStatement call=connection.prepareCall("begin sp_adminLstUsuarios(?); end;"); (1) ResultSet resultSet = call.executeQuery(); (2) UsuariosBean usuario = new UsuariosBean (); //if (resultSet.next()){ //if(resultSet.next()) (3) usuario.setNombre(resultSet.getString("AC02_NOMBRE ")); Pero al llegar a la línea 3 salta a la excepción,si no comento, la parte del next, desde ahí salta también. Te cuento qué tengo instalado, talvez son versiones o no sé qué mismo. Eclipse 3.2.0, jdk1.5.0_16,Tomcat 5.5, Oracle 10.2.0.1.0. Gracias.... Esto es lo que me sale en la excepción: /**************/ database,oracle.jdbc.driver.OracleDriver,jdbc:orac le:thin:@localhost:1521:bdoptime,henry,optime2008 2008-11-27 09:59:09,093 [http-8081-Processor23] INFO net.plus.util.Util - DEBUG: [CONNECTION.1] 2008-11-27 09:59:09,093 [http-8081-Processor23] INFO net.plus.util.Util - DEBUG: [agregando base: database-oracle.jdbc.driver.OracleDriver] 2008-11-27 09:59:09,093 [http-8081-Processor23] INFO net.plus.util.Util - DEBUG: [persistencia:true] 2008-11-27 09:59:09,109 [http-8081-Processor23] INFO net.plus.util.Util - DEBUG: [conexionesMaximas:4] 2008-11-27 09:59:09,109 [http-8081-Processor23] INFO net.plus.util.Util - DEBUG: [conexionesIniciales:2] 2008-11-27 09:59:09,109 [http-8081-Processor23] INFO net.plus.util.Util - DEBUG: [base: database-oracle.jdbc.driver.OracleDriver] 2008-11-27 09:59:09,859 [http-8081-Processor23] INFO net.plus.util.Util - DEBUG: [agregando un pool de database al Map de pools.] 2008-11-27 09:59:09,859 [http-8081-Processor23] INFO net.plus.util.Util - [INICIO]: null admin.UsuariosForm 2008/11/27 09:59:09 2008-11-27 09:59:10,484 [http-8081-Processor23] INFO net.plus.util.Util - DEBUG: [admin.UsuariosForm - Database - ORA-00900: sentencia SQL no válida ] 2008-11-27 09:59:10,484 [http-8081-Processor23] INFO net.plus.util.Util - [FIN]: null admin.UsuariosForm 2008/11/27 09:59:10 Procesado en: 625ms 2008-11-27 09:59:10,484 [http-8081-Processor23] ERROR com.sun.faces.lifecycle.InvokeApplicationPhase - Error calling action method of component with id logonForm:_id0 javax.faces.FacesException: Error calling action method of component with id logonForm:_id0 at org.apache.myfaces.application.ActionListenerImpl. processAction(ActionListenerImpl.java:74) at javax.faces.component.UICommand.broadcast(UIComman d.java:312) at javax.faces.component.UIViewRoot.broadcastEvents(U IViewRoot.java:267) at javax.faces.component.UIViewRoot.processApplicatio n(UIViewRoot.java:381) at com.sun.faces.lifecycle.InvokeApplicationPhase.exe cute(InvokeApplicationPhase.java:75) at com.sun.faces.lifecycle.LifecycleImpl.phase(Lifecy cleImpl.java:200) at com.sun.faces.lifecycle.LifecycleImpl.execute(Life cycleImpl.java:90) at javax.faces.webapp.FacesServlet.service(FacesServl et.java:197) at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:188) at org.apache.myfaces.webapp.filter.ExtensionsFilter. doFilter(ExtensionsFilter.java:97) at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:188) at org.apache.myfaces.webapp.filter.ExtensionsFilter. doFilter(ExtensionsFilter.java:144) at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:875) at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:689) at java.lang.Thread.run(Unknown Source) Caused by: javax.faces.el.EvaluationException: java.sql.SQLException: com.datactiva.admin.UsuariosForm - Database - ORA-00900: sentencia SQL no válida at com.sun.faces.el.MethodBindingImpl.invoke(MethodBi ndingImpl.java:130) at org.apache.myfaces.application.ActionListenerImpl. processAction(ActionListenerImpl.java:63) ... 27 more Caused by: java.sql.SQLException: admin.UsuariosForm - Database - ORA-00900: sentencia SQL no válida at com.datactiva.admin.UsuariosForm.logon(UsuariosFor m.java:212) at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.sun.faces.el.MethodBindingImpl.invoke(MethodBi ndingImpl.java:126) ... 28 more 2008-11-27 09:59:10,515 [http-8081-Processor23] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/datactiva].[Faces Servlet] - Servlet.service() para servlet Faces Servlet lanzó excepción java.sql.SQLException: admin.UsuariosForm - Database - ORA-00900: sentencia SQL no válida at admin.UsuariosForm.logon(UsuariosForm.java:212) at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.sun.faces.el.MethodBindingImpl.invoke(MethodBi ndingImpl.java:126) at org.apache.myfaces.application.ActionListenerImpl. processAction(ActionListenerImpl.java:63) at javax.faces.component.UICommand.broadcast(UIComman d.java:312) at javax.faces.component.UIViewRoot.broadcastEvents(U IViewRoot.java:267) at javax.faces.component.UIViewRoot.processApplicatio n(UIViewRoot.java:381) at com.sun.faces.lifecycle.InvokeApplicationPhase.exe cute(InvokeApplicationPhase.java:75) at com.sun.faces.lifecycle.LifecycleImpl.phase(Lifecy cleImpl.java:200) at com.sun.faces.lifecycle.LifecycleImpl.execute(Life cycleImpl.java:90) at javax.faces.webapp.FacesServlet.service(FacesServl et.java:197) at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:188) at org.apache.myfaces.webapp.filter.ExtensionsFilter. doFilter(ExtensionsFilter.java:97) at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:188) at org.apache.myfaces.webapp.filter.ExtensionsFilter. doFilter(ExtensionsFilter.java:144) at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:875) at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:689) at java.lang.Thread.run(Unknown Source) |
La zona horaria es GMT -6. Ahora son las 18:38. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2024, Jelsoft Enterprises Ltd.