![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
La verdad es que no se entiende nada de lo que comentas
![]() No está claro lo que estás haciendo, ni cómo lo estás haciendo, ni qué código estás usado, ni cómo lo estás usando... es casi imposible poder ayudarte así. Trata de crear un proyecto de ejemplo, lo más simple que puedas, y a partir de ahí ir avanzando a cada paso. O si el proyecto que tienes no es muy grande, trata de subirlo para que le podamos echar un vistazo.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
|||
|
|||
|
Casimiro, si es que no hay ningún código, tengo Delphi 2.010 y Firebird 2.5
tengo en un Formulario la base de Datos IBDatabase1 y un IBTransaction1: IbDatabase1: propiedad DefaultTransaction: IBTransaction1 IbTransaction1: Propiedad DefaultDababase: IBDatabase1 Pongo las propiedades de ambos en Connected en True y todo perfecto. luego asocio las distintas IbTablas a la IbDatabase1 y todos los DataSources a su IbTable correspondiente, pongo los Actives en True y todo se conecta bien. Copio el programa en PC1 y trabajo con el programa perfectamente, cuando grabo los distintos registros mediante:
Todo funciona perfectamente Copio el programa en el PC2 y asocio la base de datos del servidor que está en el PC1 de la siguiente manera, mediante un archivo .INI.
Ahora bien a partir de ahora se dan dos supuestos. 1) El Programa NO lo tengo abierto en el PC1 y trabajo en el PC2 en red, entonces trabajo perfectamente en red, grabo los registros mediante IbTabla1.post, y todo bien. 2) El Programa lo tengo abierto en el PC1 en ese momento e intento desde el PC2 grabar algún registro en red mediante IbTabla1.post, se me queda bloqueado indefinidamente, tengo que cerrar el programa en el PC2 como pueda o bien apagar el ordenador, esto ocurre igual si trabajo en el PC1 y tengo abierta la base de datos en el PC2. Ésto es el problema que tengo al trabajar en red, que cuando la base de datos está abierta en los DOS PC a la vez, no puedo grabar nada por que se bloquea básicamente, aunque no esté en el mismo registro de la misma Tabla. No sé si necesitas algún dato más Casimiro, y gracias por el tiempo |
|
#3
|
||||
|
||||
|
Bien, empecemos por el principio
![]() Lo primero de todo, desconecta la BD en modo diseño cuando vas a compilar. No debes dejar conectada/activa la BD cuando compilas para crear el ejecutable. Debes conectar a la BD en tiempo de ejecución, por ejemplo como has indicado, al abrir el programa éste lee la ruta a la BD en un .ini y entonces es cuando debes conectarla. Eso es lo primero. Cámbialo y ya seguimos con el resto.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
|||
|
|||
|
Pues cambiado está tengo las dos bases de datos IbDatabase1 y IbDatabase2 (que es la que aglutina a todas las tablas Maestros) desconectadas y las abro cuando ejecuto la aplicación.
Con IbDatabase1 tengo unas 20 tablas conectadas que voy usando según necesidades y con IbDatabase2 tengo unas 20 conectadas a su vez. He intentado hacer hacer unas pruebas, pero no quiero adelantarme. Seguimos hablando. |
|
#5
|
||||
|
||||
|
Parece que acabamos de descubrir que hay 2 bases de datos, tendrás que explicar entonces la situación, no podemos ayudar si no conocemos todos los detalles.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#6
|
|||
|
|||
|
Bueno en realidad trabajamos con Tdatabase1. la otra Tdatabase2 es donde están las tablas Maestras, (Clientes, Proveedores, Artículos).
Tdatabase1 es donde trabajo todo el proceso importante, y lo único que hago es buscar en Tdabase2 (Maestro) el nombre de ese código) Así si en la tabla Ventas(Tdabase1), tiene un campo el Código de Cliente, lo que hago es buscar en Tdatabase2 la tabla Clientes y busco el nombre del cliente a que corresponde ese código cliente. nada más, no hago ninguna otra función, por eso no le daba importancia. Así como tú me dijiste la situación es que tanto Tdabase1 como Tdabase2, las he desconectado para conectarlas en tiempo de ejecución, lo que hago con una hago con la otra. |
|
#7
|
||||
|
||||
|
Ya, es que el problema es que no existe eso de "simplemente hago...", "solamente la uso para...", "nada más que sirve para buscar el código...", etc.
Si no vemos el código es casi imposible ayudar, solamente podemos deducir, imaginar, suponer... pero no estamos seguros. ¡Quién sabe! lo mismo estás usando por despiste un dataset de una BD con otra, etc. Ten en cuenta que con los parámetros predeterminados, firebird y los componentes ¿IBX estás usando? no tendrías ese problema que comentas, puedes tener tantas conexiones abiertas como quieras sin problemas de bloqueo entre ellos, por eso es seguro que algo raro estás haciendo (aunque no te hayas dado cuenta), Ya que no podemos ver el código, te recomiendo que crees un simple proyecto de pruebas con una BD, todo minimizado al máximo, y copias el ejecutable creado en esos dos PCs y ve probando.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Firebird remoto - Modificar registros | Gregorio Cíber | Conexión con bases de datos | 8 | 23-03-2021 22:32:04 |
| modificar variios registros con dataset | pmtzg | Conexión con bases de datos | 7 | 11-02-2012 12:05:02 |
| Modificar registros desde DBgrid | quakerman | Conexión con bases de datos | 7 | 09-11-2011 03:40:03 |
| modificar registros | yossi | SQL | 6 | 11-06-2010 03:43:58 |
| modificar registros query | Buelos | Firebird e Interbase | 8 | 02-03-2008 00:52:00 |
|