Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta acerca de como desarrollar (https://www.clubdelphi.com/foros/showthread.php?t=51490)

rruffino 17-12-2007 16:01:09

Consulta acerca de como desarrollar
 
Buenas a todos!!!
Estoy en un punto en que todo se me hace un poco confuso y necesito algo asi como la mejor opción para continuar.
He leído que para la programación cliente/servidor en sql ya sea interbase o firebird es conveniente utilizar procedimientos almacenados. Aprender a utilizarlos me costo un poco pero ya lo tengo asimilado. Ahora mi gran interrogante es desde delphi que componentes utilizar para desarrollar correctamente esta arquitectura. En principios el sistema que estoy desarrollando contiene una gran cantidad de ventanas y código fuente. He leido acerca de bpls, componentes, datasets, midas, sockets, etc, pero no puedo encontrar el hilo, o sea, saber que tengo que usar para que mi sistema pueda ser usado en servidor y terminales con un rendimiento optimo como asi entro en duda si tengo que desarrollar un ejecutable para el servidor y otro distinto para las terminales.
Actualmente estoy implementando de la sigiuente manera (con delphi 7 e interbase 6.5): diseñe la bd y utilizo procedimientos almacenados, lei por ahi que hay que evitar los triggers, asi que trato de no usarlos. Desde Delphi tengo una aplicación (un unico archivo ejeutable) con un datamodule en el cual meto los componentes que utilizo, tales como ibdatabase, ibtransaction, ibdataset, ibdatasource y los ibquery. De ahi en mas el resto es componentes dataaware y los tipicos standar y win32. Para las terminales uso el mismo programa y solo cambio el path del ibdatabase poniendo la ip-ruta de donde se encuentra la base de datos alojada. Algunos me aconsejaron no hacer esto ya que incremento mi trafico por la red, me recomendaron hacerlo como escritorio remoto o con citrix o algo similar.
En realidad estoy totalmente abierto a criticas y sugerencias, principalmente para terminar de atar cabos y seguir con el desarrollo.
Desde ya muchas gracias a todos y espero sus respuestas y/o sugerencias.-;)

BlueSteel 17-12-2007 19:42:02

Hola...

bueno, yo tengo experiencia (que es muy poca...) con Interbase 6 y ahora con SQL Server 2000...

Cita:

Actualmente estoy implementando de la sigiuente manera (con delphi 7 e interbase 6.5):
Según lo que he leido en el Foro es aconsejable que utilices Firebird.. es mucho mejor...

Cita:

diseñe la bd y utilizo procedimientos almacenados, lei por ahi que hay que evitar los triggers, asi que trato de no usarlos.
no se si estas en un Error... pero los Triggers te pueden solucionar gran parte de problemas que se te puedan presentar...

Lo Triggers o Disparadores se ejecutan cuando Insertas, Eliminas o Modificas un dato en una Tabla determinada...

por lo cual si eliminas un Cliente, puede ejecutarse un Triggers (que este programado), para que automáticamente el registro del cliente que has eliminado lo deje en un Historico.... o si Actualizas un dato, que en forma automatica te actualice el dato de otra tabla...

Ten en cuenta que los Triggers se ejecutan en forma automática, y es más desde ahí puedes llamar a un Procedimiento o Funcion para que se ejecute y te realice lo que necesites.....

Los Procedimientos Almacenados y Funciones son buenas tambien, pero esos tienes que llamarlos para ejecutarlos... son cosas diferentes...

Yo te recomiendo usar Triggers... quizas otros colegas te pueden aclarar otras dudas...

Cita:

Desde Delphi tengo una aplicación (un unico archivo ejeutable) con un datamodule en el cual meto los componentes que utilizo, tales como ibdatabase, ibtransaction, ibdataset, ibdatasource y los ibquery.
Si, esta ok... Utiliza los componentes (para Interbase) de la paleta Interbase (IBX)... y en un Formulario de tipo Datamodule...

Cita:

Para las terminales uso el mismo programa y solo cambio el path del ibdatabase poniendo la ip-ruta de donde se encuentra la base de datos alojada.
Yo lo que hago es instalar el Interbase Cliente en todas los terminales y copiar el Archivo ejecutable en los mismos terminales sin cambiar nada más.... (creo que con eso basta)...

lgarcia 17-12-2007 22:13:20

Desarrollo aplicacion cliente-servidor
 
Hola:Desconozco como son los Procedimientos Almacenados(SP) de IB pero con los que he trabajado con ADO y puede que sea similar, hay 2 tipos de SP los que devuelven un SELECT y los clasicos de insertar-actualizar y eliminar. Para los primeros se usa Close y Open y para los ultimos Prepared:= True y ExecProcindependientemente de que tengan parametros.Un ejemplo de SelectWith Prueba dobegin Close; Open;end;Un ejemplo de insertar-actualizar y eliminarWith Insertar dobegin Parameters.ParamByName('@id').Value:= edId; Prepared:= True; ExecProc;endQuizas esto te ayude.SaludosLuis Garcia


La franja horaria es GMT +2. Ahora son las 08:57:18.

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