Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-04-2010
Avatar de Axel_Tech
Axel_Tech Axel_Tech is offline
Miembro
 
Registrado: nov 2008
Ubicación: lugar en que está ubicado algo.
Posts: 85
Poder: 16
Axel_Tech Va por buen camino
Tarea programada en Linux con Firebird 2.5

Hola a todos, tengo un servidor con Firebird 2.5 bajo Linux (Ubuntu) y me gustaría que al final de la jornada se ejecutara un update para actualizar los datos de una tabla. Ya sé que Firebird por sí solo como motor de base de datos no contempla esto, pero se me había ocurrido crear un crontab que ejecute un .sh por ejemplo que haga el update. El problema es no tengo ni idea de como crear este .sh, como decirle la ruta de la base de datos y demás.
A ver si alguien se ha encontrado con una situación parecida y puede orientarme un poco.

Gracias anticipadas
__________________
No hope, no dreams, no love, my only escape is Underground
Responder Con Cita
  #2  
Antiguo 14-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes llamar al script sql desde la utilidad de línea de comandos isql, que está en el directorio 'bin' de firebird
Ejemplo, creas un script update.sql donde metes las actualizaciones que quieras hacer, sql, por supuesto, algo así:

fichero tuupdate.sql
Código:
connect /mnt/datos/mibasedato.fdb user sysdba password masterkey;
update tbhistorial set ..... ;
insert into tbacumulados values ......;
etc.
Ahora creas un script para que lo ejecute:

tuscript.sh
Código:
#!/bin/sh
/opt/firebird/bin/isql parametros varios  -i tuupdate.sql
y finalmente lo programas para que se ejecute cuando quieras, con el crontab, aquí tienes una guía muy clara y sencilla.
Código:
# lo siguiente se ejecutaría cada hora, en el minuto 0
0 * * * * /home/tuusuario/tuscript.sh
#
# lo siguiente se ejecutaría los día 15 de cada mes
* * 15 * * /home/tuusuario/tuscript.sh
Y aquí tienes una guía de los parámetros de isql
Responder Con Cita
  #3  
Antiguo 15-04-2010
Avatar de Axel_Tech
Axel_Tech Axel_Tech is offline
Miembro
 
Registrado: nov 2008
Ubicación: lugar en que está ubicado algo.
Posts: 85
Poder: 16
Axel_Tech Va por buen camino
Muchas gracias Casimiro, me ha quedado bastante claro, pero al ponerme manos a la obra me acabo de dar cuenta que he pasado un detalle por alto: necesito que el UPDATE lleve la fecha de hoy en el WHERE (para actualizar los registros de hoy). ¿Podría meter en el archivo .sql en la línea del UPDATE la fecha? ¿Esto funcionaría?:
Código SQL [-]
UPDATE TABLA SET CAMPO = 1 WHERE FECHA = CURRENT_DATE
__________________
No hope, no dreams, no love, my only escape is Underground
Responder Con Cita
  #4  
Antiguo 15-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Claro, si es una instrucción sql, tiene que funcionar
Responder Con Cita
  #5  
Antiguo 15-04-2010
Avatar de Axel_Tech
Axel_Tech Axel_Tech is offline
Miembro
 
Registrado: nov 2008
Ubicación: lugar en que está ubicado algo.
Posts: 85
Poder: 16
Axel_Tech Va por buen camino
Una vez más me quito el sombrero, funciona todo a la perfección mil gracias Casimiro!!!
__________________
No hope, no dreams, no love, my only escape is Underground
Responder Con Cita
  #6  
Antiguo 15-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Me alegro
Responder Con Cita
  #7  
Antiguo 16-04-2010
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Otra opción sencilla, es crear un script de PHP que te lo haga y ejecutarlo desde cron con wget -e -q /var/www/sript.php

Funciona.

PD: Si me he explicado mal, es porque hablo de memoria.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tarea programada en delphi drykea Varios 6 18-02-2008 16:59:19
hacer una tarea programada Patricio Varios 6 18-09-2007 20:39:21
Firebird en Linux luiz_leo Conexión con bases de datos 3 07-08-2007 11:30:28
firebird on linux julyus Conexión con bases de datos 1 28-05-2007 19:41:32
Firebird en Linux edy_aca Firebird e Interbase 3 01-10-2004 16:47:51


La franja horaria es GMT +2. Ahora son las 16:39:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi