Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-01-2013
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 18
orodriguezca Va por buen camino
Creo que lo que está ocurriendo es lo siguiente: La aplicación originalmente está funcionando para un solo PC y la base de datos está sobre ese PC. En el modulo de datos el componente de conexión está "alambrado" a esa base de datos y además la conexion ibdatabase1 está abierta en tiempo de diseño. Cada una de las tablas que están asociadas a está conexión también está abierta. La aplicación se compila, se ejecuta y todo funciona a la perfección.

Cuando se modifica la aplicación para funcionar en red se le adiciona el código para que en tiempo de ejecución establezca la conexión a la base de datos:

Código Delphi [-]
 BasedeDatos := ElIniFile.ReadString('BD','Path','');

pero la base de datos sigue abierta en tiempo de diseño, por tanto, cuando se intenta ejecutar la instrucción anterior obtenemos el mensaje: Cannot perform operation -- db is currently open.

Debes cerciorarte que la base de datos esté cerrada en tiempo de diseño, o sino va a intentar conectarse a una base de datos en el PC local tan pronto inicie la aplicación y antes de que se ejecute el código que configura la conexión.

Por otro lado cuando aplicas la sugerencia de casimiro
Código Delphi [-]
ibdatabase1.Close;
ibdatabase1.DatabaseName:=BasedeDatos; 
ibtablaclientes.Active:=true;

El mensaje de error lo obtiene sobre la tabla ibtablaclientes y no sobre la base de datos ibdatabase1. Sugiero que pruebes lo siguiente (verificando previamente que la base de datos no está abierta en tiempo de diseño):
Código Delphi [-]
ibdatabase1.Close;
ibdatabase1.DatabaseName:=BasedeDatos; 
ibdatabase1.open;  //estoy añadiendo esta línea para abrir explicitamente la base de datos
ibtablaclientes.Active:=true;

Quizás esto no solucione definitivamente el problema pero nos puede proporcionar un mensaje de error que nos acerque más a la solución.
Responder Con Cita
  #2  
Antiguo 02-01-2013
ginesgomezlopez ginesgomezlopez is offline
No confirmado
NULL
 
Registrado: jun 2012
Posts: 45
Poder: 0
ginesgomezlopez Va por buen camino
Efectivamente orodriguezca, la Base de datos estaba abierta, al ejecutar:


Código Delphi [-]
BasedeDatos := ElIniFile.ReadString('BD','Path','');

Por lo que tengo que cerrarla y volverla abrir, tal y como dices, aunque tengo luego que abrir todas las tablas de las que depende la Base de Datos, ya funciona a la perfección,

Muchísimas gracias a tí y a Casimiro, da gusto dar con un foro como éste.

PD. Casimiro dijo que lo siguiente:

Cita:
¿Trabajas con tablas?, no es lo más adecuado, aunque ese no sea el tema aquí.
¿hay otra forma de trabajar más adecuada?.

Gracias.
Responder Con Cita
  #3  
Antiguo 02-01-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Con querys
Responder Con Cita
  #4  
Antiguo 02-01-2013
ginesgomezlopez ginesgomezlopez is offline
No confirmado
NULL
 
Registrado: jun 2012
Posts: 45
Poder: 0
ginesgomezlopez Va por buen camino
Me pondré manos a la obra, empezaré a buscar tutoriales y ejemplos, para empezar.
Responder Con Cita
  #5  
Antiguo 02-01-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Ejemplo,
otro ejemplo
y el mejor libro.
Responder Con Cita
  #6  
Antiguo 02-01-2013
ginesgomezlopez ginesgomezlopez is offline
No confirmado
NULL
 
Registrado: jun 2012
Posts: 45
Poder: 0
ginesgomezlopez Va por buen camino
Muchas Gracias,
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Duda con mensaje Can no open Resultset rcantu MySQL 2 03-04-2008 07:39:06
Urge: Error TOO MANY OPEN FILES mrmanuel Conexión con bases de datos 4 01-12-2005 11:05:31
Error creating form:Cannot open avi Javier_A OOP 2 11-09-2005 21:11:01
Error al intentar guardar texto de Open Office en disquete fidel Linux 0 28-05-2005 13:19:09
Error while trying to open file nefy Firebird e Interbase 4 15-09-2004 20:02:42


La franja horaria es GMT +2. Ahora son las 13:39:40.


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