Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Providers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-07-2004
ceocarbajal ceocarbajal is offline
Miembro
 
Registrado: oct 2003
Ubicación: México
Posts: 13
Poder: 0
ceocarbajal Va por buen camino
Apliación 3 Capas - MultiEmpresa

Hola a todos,

Estoy desarrollando una aplicación en Delphi 7, bajo 3 capas -tecnología Midas. En el servidor de base de datos utilizo Interbase, en el Servidor de Aplicación utilizo dbExpress para realizar la conexión y pues el Front-End, en Delphi. No puedo unir las bases de datos, debido a que en algunas tablas manejan bastante información, algo así como 1 millón de registros y no creo que sea viable.

Tengo varias bases de datos: Una base para La Empresa X, Otra para Y, y una de prueba. Mi duda es (quizás es una chorrada y no se si pueda hacer), ¿Como puedo decirle explicitamente desde el cliente Front-End, que se conecte a determinada base de datos/empresa, según la empresa a la que el usuario decida firmarse?, algo así como llamar un procedimiento SetRemoteConnectionName y esto establezca la propiedad SQLConnection.ConnectionName al valor indicado.

¿Se pueden hacer llamadas explicitas a procedimientos que se encuentran almacenados en el servidor de capa intermedia?, ¿como enfrenta Midas este tipo de casos?.

Tengo bastante experiencia desarrolando bajo Cliente/Servidor, pero esta cuestión sí que no he hayado como resolverla.

Desde ya agradezo a todos por vuestras sugerencias y comentarios.

Saludos a todos.
Responder Con Cita
  #2  
Antiguo 16-07-2004
camelumi camelumi is offline
Miembro
 
Registrado: may 2003
Ubicación: Veracruz, Mexico
Posts: 18
Poder: 0
camelumi Va por buen camino
No se si te pueda servir, pero usaria un archivo ini y al ingresar al sistema en la pantalla de usaurio y password (suponiendo que asi lo haces) agregario combo box con las empresas y al seleccionar y validar tu password almacenas el numero o id que le asignaste a la empresa o bien la ruta de la base de datos para la empresa x, y o prueba

Sds
__________________
De Antemano, muchas gracias


Saludos
=====================
LSCA. Luis Miguel Cabral M.
Veracruz, Mexico
=====================
Responder Con Cita
  #3  
Antiguo 22-07-2004
pache pache is offline
Miembro
 
Registrado: jun 2003
Ubicación: colombia
Posts: 64
Poder: 21
pache Va por buen camino
Además si usas dbExpress recuerda remitirte al archivo dbxconnections.ini para redireccionar la ruta de la base de datos al servidor o el directorio que corresponda.

Espero te sirva la sugerencia
__________________
Fernando González Gil
Responder Con Cita
  #4  
Antiguo 31-07-2004
ceocarbajal ceocarbajal is offline
Miembro
 
Registrado: oct 2003
Ubicación: México
Posts: 13
Poder: 0
ceocarbajal Va por buen camino
Hola a todos,

Agradezco los comentarios que han hecho, así como su tiempo en leer el mensaje. Creo las sugerencias van bien para tecnología Cliente / Servidor, aunque se podría retomar algo para multiples capas.

Casí despues de postear este mensaje y despues de mucho buscar me encontre con la respuesta en esta página

How to execute stored procedure in client when use MIDAS

Básicamente describe un proceso a tres pasos:
1 Agregar un procedimiento a la Interfaz (Servidor de Aplicación)

procedure ExecProc(Params: Integer);

2 Escribir el código para el procedimiento en el Remote Data Module (Servidor de Aplicación)
procedure ExecProc(Params: Integer);
begin
StoredProc1.ParamByName('@Param').AsInteger := Params;
StoredProc1.ExecProc;
end;

3 En el cliente, hacer una llamada al servidor de aplicación, como la siguiente:
DComConnection1.AppServer.ExecProc(1);

Esto es bastante sencillo y funciona muy bien. Despues, dada la magnitud del proyecto, decidí crear Remote Data Modules Childs, por aquello de la división del código y la pregunta ahora fue "¿Como ejecutar un procedimiento remoto que se encuentra en un RDM Child desde el Cliente?"

Igual, realice los dos primeros pasos del proceso anterior en el RDM Child y en el punto 3 (la llamada desde el cliente al servidor de aplicación) fue:

SharedConnection.AppServer.MiProcedimiento (Param1, Param2),

Donde SharedConnection, es precisamente un componente TSharedConnection, cuya propiedad ChildName := RDMChild....

Agradezco nuevamente sus comentarios y espero que esta información le sirva a alguien más.

Un Saludo.

Alonso
Guadalajara, México
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


La franja horaria es GMT +2. Ahora son las 08:21:29.


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