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 21-07-2010
DELFIN2000 DELFIN2000 is offline
Miembro
 
Registrado: mar 2010
Posts: 12
Poder: 0
DELFIN2000 Va por buen camino
manipular la misma base de datos en la misma pc

hola a todos

Tabajo en una aplicacion y tengo mi base de datos en FIREBIR 2.0 mi problema es que necesito abrir en la misma pc la misma aplicacion, pero los cambios se reflejan bien en la primera aplicacion que abro y puedo trabajar muy bien, y cuando trabajo con la misma aplicacion que abri por segunda vez no se reflejan los cambios que hice en la primera. es decir en la aplicacion que abro por 1Ra. vez si puedo crera factura y me va actualizando los datos, el problema es cuando intento crear el folio de otra factura en el formulario que abri por 2da. vez no me busca el ultimo folio grabado en el primer formulario que abri, por lo que me duplica el folio de que leyo al momento de entrar. el punto es como le hago para que mi formulario abierto por segunda vez me busque los registros actualizados por el mismo formulario que abri primero?? cual es la tecnica.

gracias de antemano
Responder Con Cita
  #2  
Antiguo 21-07-2010
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
bueno y cuando guardas la factura si le das commit a la transaccion??
Responder Con Cita
  #3  
Antiguo 22-07-2010
manuc manuc is offline
Miembro
 
Registrado: abr 2010
Posts: 165
Poder: 15
manuc Va por buen camino
Hola,

Para que te podamos ayudar, sería interesante que comentes qué componentes estás utilizando, para la conexión, querys, transacciones, etc.

Así como lo cuentas, tiene pinta de que el problema se puede encontrar en la configuración del nivel de aislamiento de la transacción.

Un saludo.
Responder Con Cita
  #4  
Antiguo 22-07-2010
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por DELFIN2000 Ver Mensaje
hola a todos

Tabajo en una aplicacion y tengo mi base de datos en FIREBIR 2.0 mi problema es que necesito abrir en la misma pc la misma aplicacion, pero los cambios se reflejan bien en la primera aplicacion que abro y puedo trabajar muy bien, y cuando trabajo con la misma aplicacion que abri por segunda vez no se reflejan los cambios que hice en la primera. es decir en la aplicacion que abro por 1Ra. vez si puedo crera factura y me va actualizando los datos, el problema es cuando intento crear el folio de otra factura en el formulario que abri por 2da. vez no me busca el ultimo folio grabado en el primer formulario que abri, por lo que me duplica el folio de que leyo al momento de entrar. el punto es como le hago para que mi formulario abierto por segunda vez me busque los registros actualizados por el mismo formulario que abri primero?? cual es la tecnica.

gracias de antemano
Estas realizando un commit en la primera transacción? Estas iniciando una nueva transacción en la segunda lectura.


Lo que comentas parece el funcionamiento habitual en firebird, las transacciones no se ven entre si mientras no se aplican efectivamente.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #5  
Antiguo 23-07-2010
DELFIN2000 DELFIN2000 is offline
Miembro
 
Registrado: mar 2010
Posts: 12
Poder: 0
DELFIN2000 Va por buen camino
abrir la misma aplicacion en la misma pc

Gracias a todos.

En algunas aplicaciones ya hechas que se comercializan he visto que en los sistemas administrativos pueden abrir la misma aplicacion varias veces al mismo tiempo digamos, esto permite relizar otra actividad mientra se tiene otra actividad a medias. En mi aplicacion me gustaria hacer los mismo abrir varias veces la segun la necesidad. Cuando abro la aplicacion la primera vez puedo realizar toda mi actividad de factura pero en la otra que tengo abierta tambien no puedo llamar los ultimos cambios que relizo en la primera abierta.

En mi aplicacion utilizo los componentes un Ibdatabase, IbTransaccion, StorePRoc el cual estan contenidos en un modulo y en el formulario de factura utilizo componentes ClientDataset para almacenar datos en memoria y finalmente los guardo fisicamente con un AppliUpdate(0). todo esto me funciona muy bien cuando trabajo como unico usuario es decir cuando abro una vez el programa, pero si lo vuelvo abrir al mismo tiempo, en este segundo tiempo es cuando no me refleja los cambios. Aunque por ahi leei un poquito sobre el uso del componente SESIONES pero no se si sea lo correcto.

me gustaria que me orienten que debo hacer.

de antemano gracias
Responder Con Cita
  #6  
Antiguo 23-07-2010
manuc manuc is offline
Miembro
 
Registrado: abr 2010
Posts: 165
Poder: 15
manuc Va por buen camino
Hola DELFIN2000,

Ciertamente, la mayoría de programas de gestión permiten multi-sesión y lo que es más normal: uso compartido en grupos de trabajo, en Red.
Para ambos casos es lo mismo, varios usuarios (o instancias) que comparten datos en la base de datos.

Tal y creo que tan solo puede ser por dos motivos:

1.- Si en la primera instancia que levantas no has echo el ApplyUpdate correspondiente. En este caso es lógico que en la segunda instancia no se vean los datos.

2.- Nivel de aislamiento en ibTransaction. Según que nivel de aislamiento tengas configurado, se comparten los datos o no, entre las conexiones abiertas en la base de datos.

En este último caso, prueba a hacer doble clic en el ibTransaction y le marcas la opción Read_Commited, Quedando los parámetros (settings o propiedad params de la transacción) de la transacción de la siguiente forma:

Código:
read_committed
rec_version
nowait
Espero que te ayude.

Un saludo.
Responder Con Cita
  #7  
Antiguo 23-07-2010
DELFIN2000 DELFIN2000 is offline
Miembro
 
Registrado: mar 2010
Posts: 12
Poder: 0
DELFIN2000 Va por buen camino
Resuelto el problema de abrir varias instancias

Gracias DonalShimoda y Manuc
Efectivamente Cambie los parametros del componente Transaccion dejandolos en:

Read_Commited

E hice un Commit despues de ApplyUpdate(0) y ya me funciona bien. seguire avanzando pk estoy a media.

Tengo otra duda??

Para que funcione en red, es necesario usar componente Tsesion? o basta con instalar el cliente de faribird en las terminales y usando la configuracion que resolvi con Uds.

Gracias y que el creador les multiplique la sabiduria
Responder Con Cita
  #8  
Antiguo 23-07-2010
manuc manuc is offline
Miembro
 
Registrado: abr 2010
Posts: 165
Poder: 15
manuc Va por buen camino
Hola,

Si los clientes acceden directamente a base de datos, bastará con instalar Firebird Client.

Creo que con que el exe cliente tenga accso a gds32.dll o fbClient.dll, será suficiente.

Si utilizas ClientDataset, también es probable que tengas que registrar el Midas.dll, o por lo menos que el Software que actúe como cliente tenga acceso a este fichero.

Un saludo.
Responder Con Cita
  #9  
Antiguo 23-07-2010
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por manuc Ver Mensaje
Si utilizas ClientDataset, también es probable que tengas que registrar el Midas.dll, o por lo menos que el Software que actúe como cliente tenga acceso a este fichero.
Dependiendo de la version de delphi (creo que en posteriores a D7 solamente) puedes agregar midad a la clausula uses y se linkea estaticamente sin necesidad de registrar ni copiar la dll midas en tus instalaciones.

Saludos
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #10  
Antiguo 23-07-2010
manuc manuc is offline
Miembro
 
Registrado: abr 2010
Posts: 165
Poder: 15
manuc Va por buen camino
Sí, correcto, llevas razón.

Creo que añadiendo MidasLib en los uses embebes la dll en el ejecutable.

Se me había pasado.

Gracias.

Un saludo.
Responder Con Cita
  #11  
Antiguo 23-07-2010
DELFIN2000 DELFIN2000 is offline
Miembro
 
Registrado: mar 2010
Posts: 12
Poder: 0
DELFIN2000 Va por buen camino
nuevamente agradezco sus respuestas.

checare sus indicaciones y cualquier duda estare molestandolos pronto.

saludos.
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
Datos en la misma Linea de un Memo RoyTan Varios 7 26-01-2008 01:53:58
doble Puerto serial a la misma base de datos FGarcia Varios 0 22-11-2006 23:45:29
¿Existe algún problema si quiero utilizar 2 TQuery para la misma base de datos ? nuri SQL 4 28-07-2005 09:40:54
Actulizar 2 Bases de datos con la misma Transaccion FlacoNet Firebird e Interbase 1 23-07-2004 10:36:56
copiar datos en la misma tabla jourdan SQL 7 14-05-2003 18:02:00


La franja horaria es GMT +2. Ahora son las 14:20:46.


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