Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-01-2011
phirum1984 phirum1984 is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 13
Poder: 0
phirum1984 Va por buen camino
Question Comunicar una accion en una BD a programa Delphi

Hola a todos.

Estoy programando una aplicación de envio de mensajes, la BD está en un servidor de interner MySQL y la aplicación se conecta mediante un ODBC con los datos que le proveo.

Lo que me gustaría es saber la forma de que cuando por ejemplo un usuario tenga un mensaje nuevo la aplicación pueda notificárselo, es decir que cuando se inserte un nuevo registro en la tabla "Mensajes" la BD comunique al programa que ha habido un cambio y asi poder avisar de cualquier manera al usuario, una especie de trigger que se comunique de la BD con mi aplicación, pero con mis conocimientos actuales desconozco una forma de hacerlo excepto usando un Timer que estuviera todo el tiempo comprobando si se han introducido nuevos registros en la tabla de "Mensajes", cosa que me parece poco eficiente y cargante para la aplicación.

Por favor, sugerencias o formas de hacerlo?

De antemano muchas gracias. Saludos.
Responder Con Cita
  #2  
Antiguo 10-01-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
El timer me parece imperativo ya que de que otra manera se puede verificar si hay alguna modificacion en la tabla.
Yo uso un sistema de mensajes entre usuarios y es la forma en la que lo hago, es muy eficiente y transparente para la bd y el usuario.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 10-01-2011
Avatar de mamcx
mamcx mamcx is online now
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.912
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Y no puedes usar firebird


-------

Prueba con estas ideas:

http://stackoverflow.com/questions/7...nges-mysql-php

Esta suena mas cerca:


http://stackoverflow.com/questions/7...nges-mysql-php

Hacerle poll a un servidor web tiende a ser mala idea si hay muchos usuarios concurrentes. Hay maneras de convertir la situacion en un servicio PUSH. En tal caso, un servicio residente en el servidor web utiliza tecnologia PUSH. El servicio residente hace poll a la DB, pero, no mantiene la conexion de red constante. Es mas eficiente hacerlo dentro del servidor de la DB que estar pidiendo datos desde internet.

Hay varias librerias para hacer un servicio PUSH. Pero todo varia de acuerdo a lo que puedas usar y si tienes o no acceso al servidor.

Pero todo eso es solo si necesitas un servicio muy concurrente.

En ultimas, haz pull
__________________
El malabarista.
Responder Con Cita
  #4  
Antiguo 10-01-2011
phirum1984 phirum1984 is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 13
Poder: 0
phirum1984 Va por buen camino
Gracias por las respuestas.

Unas cuantas cosas:
-Caral, no consumirá mucha memoria o recursos el tener un timer comprobando cada pocos segundos?, es que eso era lo que me paraba de utilizarlos.

-mamcx, sabrías orientarme un poco acerca de como usar lo que me comentas en Delphi?, porque lo desconozco completamente. Habría métodos para poder hacerlo con componentes desde Delphi hacia la BD?.

De nuevo gracias.
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
comunicar dos aplicaciones Delphi remotas noe Internet 6 14-02-2005 17:27:43
Comunicar delphi con centralita en red fjolivares Varios 0 18-01-2005 16:08:39
Vean a Delphi 9 (DiamonBack) en ACCION!!! mamcx Noticias 5 16-09-2004 18:13:30
Ejecutar un programa externo desde un programa de Delphi Roger_Fernandez Varios 3 02-09-2004 18:05:36
comunicar 2 máquinas via TCP/IP Pally Varios 1 28-07-2003 16:47:25


La franja horaria es GMT +2. Ahora son las 14:47:18.


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