Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-12-2007
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
Wink 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.-
Responder Con Cita
  #2  
Antiguo 17-12-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
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)...
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 17-12-2007
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Desarrollo aplicacion cliente-servidor

Holaesconozco 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
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
como desarrollar un firewall manoley23 API de Windows 13 20-03-2009 00:47:06
Consulta acerca de campo nro de factura Petolansa Varios 2 13-09-2007 04:25:39
Consulta acerca del manejo de formularios ilichhernandez OOP 4 24-11-2006 23:23:37
Consulta acerca de campos autoincrementales mgventura Firebird e Interbase 2 13-06-2005 15:17:34
consulta acerca de hosting mandarina Conexión con bases de datos 0 28-12-2004 21:13:48


La franja horaria es GMT +2. Ahora son las 04:11:17.


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