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 24-10-2007
KAYO KAYO is offline
Miembro
 
Registrado: jul 2006
Posts: 78
Poder: 18
KAYO Va por buen camino
Modificar el path de un Alias de DBE en runtime

En una aplicación multi-empresa, se necesita accesar directorios diferentes para cada compañía, se me ocurre manejarlo con una tabla donde este contenida la ruta para seleccionar cada juego de base de datos, pero el asunto esta en cambiar en el BDE la ruta de esa base de datos.

Agradecería vuestros consejos acerca de este tema.

Dephi 7, BDE
Responder Con Cita
  #2  
Antiguo 24-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cuando necesites cambiar dicha ruta colocas lo siguiente, por ejemplo:

Código Delphi [-]
Database1.Params.Values['SERVER NAME'] := 'Ruta de la nueva base de datos';

Y listo, eso cambiara dicho valor para la aplicación que esta corriendo en ese momento.

Espero te sirva .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 17-11-2007
UltraMan UltraMan is offline
Registrado
 
Registrado: may 2006
Ubicación: Los Angeles, Chile
Posts: 4
Poder: 0
UltraMan Va por buen camino
Problemas con Alias Manuales

yo resolvi el tema de las tablas en una aplicacion multi-empresas con las tablas en distintos directorios correspondiente a cada empresa, eliminando el alias con estas sentencias :
//
if not session.isAlias('remumes') then begin
Try
session.AddStandardAlias('remumes', OrigenRemuMes, 'DBASE');
session.SaveConfigFile;
except
ShowMessage('Error Creando el alias remumes');
Exit;
End;
end
Else Begin
session.DeleteAlias('remumes');
Try
session.AddStandardAlias('remumes', OrigenRemuMes, 'DBASE');
session.SaveConfigFile;
except
ShowMessage('Error Creando el alias remumes');
Exit;
End;
End;

Mi problema que se crea con esto es el siguiente, el alias lo va cambiando del BDe y con ello la ruta con estas sentencias, pero lo que no funciona es la tabla, esta se queda pegada con el alias antiguo (y por lo tanto con los datos del alias antiguo), el alias es el mismo para todas las tablas, lo que va cambiando es el path, dependiendo la empresa que estoy usando, pero esto me ha probocado que cuando realizo un cambio de empresa esta siga con los datos de la empresa que poseia el alias anterior , si alguien le ha pasado o sabe como solucionar esto, (existe algun metodo para refrescar la tabla por codigo con la nueva informacion y asi liberarla de la informacion anterior) me ayudaria bastante.
Responder Con Cita
  #4  
Antiguo 17-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Al cambiar de "empresa" tienes que cerrar la sesion, cerrar el TDatabase, modificar el path del alias, borrando y creando el alias (por ejemplo), por último, abres la sesion, Database y las tablas que necesites en el orden que he dicho

Tip: Al cerrar el TDatabase, se cierran todas las tablas y consultas abiertas en ese momento. Al abrir el Database NO se abre ninguna tabla ni consulta.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 18-11-2007
UltraMan UltraMan is offline
Registrado
 
Registrado: may 2006
Ubicación: Los Angeles, Chile
Posts: 4
Poder: 0
UltraMan Va por buen camino
BDE Runtime

Gracias Lepe por responder, solo uso tabla y datasource, nunca he trabajado con tdatabase, mi aplicacion no es multiusuario, es necesario usar el tdatabase?
Responder Con Cita
  #6  
Antiguo 18-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Tampoco usas un TSession, pero en tu código veo Session.IsAlias .

Cuando tú añades un TTable/TQuery, etc, delphi crea el TSession y TDatabase implicitamente, (si, de acuerdo, no tienes el componente TSession puesto en tu Datamodule o Form, pero por código puedes acceder a ellos).

En realidad estos dos componentes son los más importantes de tu conexión. De hecho, si pones en tu código "Database." el code insight de delphi te mostrará muchas rutinas interesantes.

Básicamente:
Código Delphi [-]
Database.Session.Active := false; 
// como ves, a través del Tdatabase se puede acceder al Session que tú utilizas .

Database.Connected := false; 
//cerramos la conexión y todas las tablas abiertas.

// cambias el alias, el código que usas ahora mismo.

Database.Session.Active := true;
Database.Connected := true;
AbrirTablas; // llamas a un procedimiento que abra las tablas que necesites

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, 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
¿Se puede cambiar el path del alias en tiempo de ejecución? JuanBCT Tablas planas 2 23-05-2006 18:20:29
El Path del Alias... Gabriel2 Varios 2 21-11-2005 22:42:40
Modificar la variable Path en ejecución adlfv API de Windows 1 01-09-2005 22:59:56
path de un alias carlomagno Conexión con bases de datos 1 28-04-2005 13:57:11


La franja horaria es GMT +2. Ahora son las 13:59:27.


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