Foros del Web » Programando para Internet » Javascript »

ejecutar procedimiento almacenado

Estas en el tema de ejecutar procedimiento almacenado en el foro de Javascript en Foros del Web. Hola, necesito una manito, tengo una clase que ejecuta un procedimiento almacenado en PL, pero necesito que se ejecute a una hora especifica, mi pregunta ...
  #1 (permalink)  
Antiguo 15/08/2014, 10:00
 
Fecha de Ingreso: noviembre-2013
Mensajes: 147
Antigüedad: 10 años, 5 meses
Puntos: 1
ejecutar procedimiento almacenado

Hola, necesito una manito, tengo una clase que ejecuta un procedimiento almacenado en PL, pero necesito que se ejecute a una hora especifica, mi pregunta es como llamo desde una funcion javascript la clase que ejecuta el procedimiento?

aqui les dejo el codigo de javascript :
Código Javascript:
Ver original
  1. function FReloj(){
  2.               //-------------------------------------------------------
  3.               HOY = new Date()
  4.               hora = HOY.getHours()
  5.               minuto = HOY.getMinutes()
  6.               segundo = HOY.getSeconds()
  7.               //-------------------------------------------------------
  8.               //-------------------------------------------------------
  9.               //Aalarma = new Date("01/01/1900 09:00:00")
  10.               //alarma = new Aalarma()
  11.               Ahora = 10 //alarma.getHours()
  12.               Aminuto = 00 //alarma.getMinutes()
  13.               //-------------------------------------------------------
  14.  
  15.               ShowHora = hora + " : " + minuto + " : " + segundo
  16.               if (hora==Ahora){
  17.                  document.form_reloj.reloj.value = ShowHora
  18.  
  19.                  //**************************************
  20.                  // aqui deberia ejecutar la clase
  21.                  //**************************************
  22.  
  23.               }else {
  24.                  document.form_reloj.reloj.value = ShowHora
  25.               }
  26.               setTimeout("FReloj()",1000)
  27.  
  28.            }

y la clase que ejecuta el procedimiento almacenado :
Código Java:
Ver original
  1. public class Actualizador {
  2.     public static void main(String[] args) throws SQLException {
  3.              
  4.     try {
  5.     String sql="begin prc_cargue_tablas(?); end;";
  6.     CallableStatement callableStatement=  Conexion.getConexion().prepareCall(sql);                  
  7.     //Parametros de entrada                
  8.     callableStatement.registerOutParameter(1, OracleTypes.CURSOR);                
  9.     callableStatement.setInt(1,19808);                  
  10.     callableStatement.execute();                
  11.     //Se obtiene el cursor en forma de ResultSe
  12.     //ResultSet rs = (ResultSet)callableStatement.getObject(1);                
  13.     //while (rs.next()){                    
  14.     //   System.out.println(rs.getLong("CODIGO"));                    
  15.     //   System.out.println(rs.getString("NOMBRE"));                
  16.     //}                
  17.     //rs.close();                
  18.     callableStatement.close();                
  19.     Conexion.getConexion().close();            
  20.     } catch (SQLException e) {
  21.         e.printStackTrace();
  22.     } catch (Exception e) {
  23.     //Imprime el mensaje de la exception lanzada en pl/sql si el valor es diferente de 1                
  24.     e.printStackTrace();
  25.     }
  26.   }
  27. }
  #2 (permalink)  
Antiguo 15/08/2014, 10:50
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ejecutar procedimiento almacenado

Con Ajax. El código JS estaría en un archivo A y la clase en un archivo B, de este modo, realizarías una petición asíncrona mediante la cual el archivo con la clase envíe una respuesta al archivo A con el resultado de la ejecución del procedimiento almacenado.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 15/08/2014, 14:06
 
Fecha de Ingreso: noviembre-2013
Mensajes: 147
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: ejecutar procedimiento almacenado

Alexis88 pero es que precisamente eso es lo que no entiendo...como llamo a la clase desde jsp o desde javascript...

Este manual ya lo he repasado y aun AJAX me queda grande. te agradezco una manito.
  #4 (permalink)  
Antiguo 15/08/2014, 14:39
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ejecutar procedimiento almacenado

La idea de usar Ajax es realizar una petición asíncrona a un archivo en el lado del servidor y que esta nos devuelva una respuesta a dicha petición con la cual realizaremos determinadas acciones. Para empezar, debes de tener tu función Ajax aunque podrías hacer esto por cada vez que requieras hacer una petición asíncrona, pero teniendo todo el proceso en una función, puedes reutilizar el código.

Código Javascript:
Ver original
  1. var ajax = function(url){
  2.     var xhr = window.XMLHttpRequest ?
  3.               new XMLHttpRequest() :
  4.               new ActiveXObject("Microsoft.XMLHTTP") ||
  5.               new ActiveXObject("Msxml2.XMLHTTP");
  6.  
  7.     xhr.open("GET", url, true);
  8.     xhr.onreadystatechange = function(){
  9.         if (xhr.readyState == 4){
  10.             switch (xhr.status){
  11.                 case 200:
  12.                     var respuesta = xhr.responseText;
  13.                     //Aquí realizarás las acciones que desees con la respuesta
  14.                     break;
  15.  
  16.                 case 404:
  17.                     alert("Error 404 not found");
  18.                     break;
  19.  
  20.                 default:
  21.                     alert("Se ha producido un error: " + xhr.status);
  22.                     break;
  23.             }
  24.         }
  25.     };
  26.     xhr.send(null);
  27. };
  28.  
  29. ajax("ejemplo.jsp");

Lo primero que hago es declarar a la función Ajax, la cual recibe como parámetro a la variable url que deberá de contener el nombre del archivo al que queremos realizar la petición. Dentro de la función, creo mi objeto XHR, abro la petición y cuando cambie el estado de la misma, realizo determinadas acciones. Como no estamos enviando datos para realizar la petición, al método send le damos null como argumento, aunque también podrías dejar en blanco el interior de los paréntesis. Cuando el estado de carga de la petición sea 4, sabremos que ya obtuvimos una respuesta del servidor (carga completa). Luego, esta respuesta puede tener uno de varios estados, el más importante es el estado 200 el cual indica que la respuesta ha sido satisfactoria, mientras que los otros estados indican errores que se produjeron. Cuando obtengamos dicho estado (200), ya podremos realizar las acciones que deseemos con dicha respuesta, para lo cual, en tu archivo JSP deberás de imprimir una respuesta a la petición, por ejemplo, listar los registros encontrados en la BD, luego, eso podrías colocarlo dentro de un <div> o en donde desees.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: almacenado, funcion, procedimiento, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:35.