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-02-2005
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Interbase 3 capas

Wnas amigos del foro,

Trabajo con Delphi 7.0 Interbase 7.5 y utilizo componentes IBX

Tratare de poner my problem en la meza ;-)

Tengo una aplicacion, esta contiene componentes ibx para la conexion de una tabla.... detallo..

Código:
un IBDataBase conecta a mi base datos
un IBTransacction  configurada asi:
    read_committed
    rec_version
    nowait
un ibquery  selecionando mi tabla: select * from articulos
un ibupdate para el mantenimiento de mi tabla
un IBEvents, para saber si hay algun cambio en mi tabla por otro usuario
"Este ibvents me pinta un label en mi formulario
indicandome si la tabla a sufrido un cambio por otro usuario y de esa
forma se puede optar por tomar la descicion de refrescar o no los datos."
Lo antes mencionado me funciona correctamente no tengo quejas de ello, el problema surge cuando lo llevo a tres capas, asi:

Creo un aplicación nueva: (esta sera mi servidor de aplicaciones)

En esta nueva apliacion inserto un Remote Data Module asi:

File, New, Other..., Multitierm, Remote Data Module

En este Remote data module inserto:

Código:
un IBDataBase conecta a mi base datos
un IBTransacction  configurada asi:
    read_committed
    rec_version
    nowait
un ibquery  selecionando mi tabla: select * from articulos
un ibupdate para el mantenimiento de mi tabla
y por ultimo un IBEvents, para saber si hay algun cambio en mi tabla por otro usuario
(Este ibvents que deberia utilizarlo para informar
a las aplicacion cliente si la tabla a sufrido un cambio por otro(s) usuario(s)

y por ultimo DataSetProvider para poder entrelazar con mi programa cliente
Grabo, complilo.... y listo tengo mi servidor de aplicaciones

Luego creo mi aplicacion cliente que se comunicara con mi servidor de aplicaciones.

Creo un nuevo projecto inserto los siguientes componentes:
Código:
un WebConnection para poder conectarme a mi servidor de aplicaciones
un ClientDataSet1 que se conectara a DatasetProvider del servidor de
aplicaciones
Un Datasource para mi grid
Tambien funciona, casi perfecto-salvo un detalle, no se como utilizar el componente IBEvents en mi aplicacion cliente

Última edición por StartKill fecha: 14-02-2005 a las 16:33:50.
Responder Con Cita
  #2  
Antiguo 14-02-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Y el problema cual es?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 14-02-2005
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Wnas amigos del foro,

Trabajo con Delphi 7.0 Interbase 7.5 y utilizo componentes IBX

Tratare de poner my problem en la meza ;-)

Tengo una aplicacion, esta contiene componentes ibx para la conexion de una tabla.... detallo..

Código:
un IBDataBase conecta a mi base datos
un IBTransacction  configurada asi:
    read_committed
    rec_version
    nowait
un ibquery  selecionando mi tabla: select * from articulos
un ibupdate para el mantenimiento de mi tabla
un IBEvents, para saber si hay algun cambio en mi tabla por otro usuario
--**Este ibvents me pinta un label en mi formulario
indicandome si la tabla a sufrido un cambio por otro usuario y de esa
forma se puede optar por tomar la descicion de refrescar o no los datos.
Lo antes mencionado me funciona correctamente no tengo quejas de ello, el problema surge cuando lo llevo a tres capas, asi:

Creo un aplicación nueva: (esta sera mi servidor de aplicaciones)

En esta nueva apliacion inserto un Remote Data Module asi:

File, New, Other..., Multitierm, Remote Data Module

En este Remote data module inserto:

Código:
un IBDataBase conecta a mi base datos
un IBTransacction  configurada asi:
    read_committed
    rec_version
    nowait
un ibquery  selecionando mi tabla: select * from articulos
un ibupdate para el mantenimiento de mi tabla
y por ultimo un IBEvents, para saber si hay algun cambio en mi tabla por otro usuario
(Este ibvents que deberia utilizarlo para informar
a las aplicacion cliente si la tabla a sufrido un cambio por otro(s) usuario(s)

y por ultimo DataSetProvider para poder entrelazar con mi programa cliente
Grabo, complilo.... y listo tengo mi servidor de aplicaciones

Luego creo mi aplicacion cliente que se comunicara con mi servidor de aplicaciones.

Creo un nuevo projecto inserto los siguientes componentes:
Código:
un WebConnection para poder conectarme a mi servidor de aplicaciones
un ClientDataSet1 que se conectara a DatasetProvider del servidor de
aplicaciones
Un Datasource para mi grid
Tambien funciona, casi perfecto-salvo un detalle, no se como utilizar el componente IBEvents en mi aplicacion cliente

A la espera de su ayuda,

Your friend,

StartKill
Lima-Perú

Nota: Mil perdones amigo Neftali, sin querer presione el boton enviar en vez del boton Vista previa, razon por la cual no se indicaba mi problema.. gracias
Responder Con Cita
  #4  
Antiguo 15-02-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
respuesta

Yo tengo una aplicacion tres capas pero uso otra cosa.

Yo trabajo con asta y solo envio codigo para pedir datos al servidor de aplicaciones.

Y este envia paketes conteniedo los resusltado el date set de memoria y es aqui que los muestro.

Y cuando voy modificar envio la data.

y si quiero que halla la notificacion de cambios cuando llegue algun cabio de alguan tabla solo envio un mensaje al cliente donde le modifico la data cambio
y que el cleinte decida que debe hacer
pero no actualizao directamente para no molestar su trabajo.


No se si esto te ayude pero fue la mejor opcion despues de probar muchas.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #5  
Antiguo 16-02-2005
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Holas foros, rastafarey gracias por contestar.

Cita:
Empezado por rastafarey
Yo trabajo con asta y solo envio codigo para pedir datos al servidor de aplicaciones.
"asta"??? hay alguno gratuito?

Cita:
Empezado por rastafarey
y si quiero que halla la notificacion de cambios cuando
llegue algun cabio de alguan tabla solo envio un mensaje al cliente donde le modifico la data cambio
Mi preguntas son:
Como notificas a los otros clientes del cambio efectuado por alguno de ellos?,
La notificacion los hace el servidor de aplicaciones (capa intermedia)


Your friend

StartKill
Lima-Perú
StartKill@Hotmail.com
Responder Con Cita
  #6  
Antiguo 17-02-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
respuesta

te pondo un jemplo claro

Tienes los codigos siguientes.

1 Para pedir la lista de articulos(articulos es una tabla)
2 Para insertar un articulo
3 Para que refrescar los articulos en los clientes des el servidor
4 Para decir al cliente que la insercion se ejecuto bien
5 Para decir al cliente que la insercion no se pudo ejecutar

Como lo estoy plantendo el cliente no s eentera que esta pasando en el servidor, es mas este no sabe no con que base de datos esta trabajando.

Si el cliente te envia una el codigo 2 ya sabes que debes leer los parametros a insertar.

Ejecutas la insercion. Ves que no hubo error le notificas al mismo cliente que envio, que todo estubo perfecto enviandop el codigo 4.

Y luego a al resto de las conexiones le envias el codigo 3 de esta manera el claiente lee los datos del registro que se inserto y lo inserta en el dataset
de articulos.

Estan sencilo todo esto ya que quien tiene el control total de las modificaciones que se le aplican a als bas de datos es el servidor de aplicaciones.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #7  
Antiguo 17-02-2005
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Correcto...

Pero mi duda es:

Como haces para que el servidor de aplicaciones envie la
notificacion al cliente??-en tu respuesta dice que envias un
mensaje al cliente, como lo haces..perdon mi ignorancia.

Debo suponer que el cliente no esta leyendo continuamente
los datos del servidor.

Por ello mi duda, con que componente, propiedad..., haces,
envias, notificas al cliente???

A la espera de tu ayuda

Your friend

StartKill
Lima-Perú

Última edición por StartKill fecha: 17-02-2005 a las 19:48:05. Razón: Aclarando
Responder Con Cita
  #8  
Antiguo 17-02-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Eventos

Son multiples eventos
que por aqui no te lo spuedo explicar sonmuchos.

Pero te puedes basjar lo asta de evaluacion y los pruebas.

Para que veas que es mas cencillo de lo te digo.

Mira tienes un correo abrelo.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
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


La franja horaria es GMT +2. Ahora son las 17:31:41.


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