FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
Cuando necesites cambiar dicha ruta colocas lo siguiente, por ejemplo:
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/ |
#3
|
|||
|
|||
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. |
#4
|
||||
|
||||
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. |
#5
|
|||
|
|||
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?
|
#6
|
||||
|
||||
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:
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
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 |
|