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 18-11-2004
Oxa78 Oxa78 is offline
Miembro
 
Registrado: may 2003
Ubicación: Lima - Peru
Posts: 110
Poder: 22
Oxa78 Va por buen camino
En las Demos de Delphi 7, DBExpress... Estructura correcta?

Saludos: Gracias de antemano por la ayuda y colaboración, una vez mas...

Trabajo con Delph7, hice una aplicacion con IBExpress + InterBase OpenSource 6.0, pero ahora voy a cambiar a MS SQL Server 2000.

Entonces al cambiar de Base de Datos (MS SQL Server 2000) debo cambiar de Conexión, es decir de IBExpress a DBExpress. Estuve revisando las demos de D7 y encontre un ejemplo q se llama "dbxexplorer", en el cual, en una sola aplicación se presenta la siguiente estructura de conexión :


// 1 : Conexion Demo DBExpress Delphi 7 (Una sola Aplicacion)
SQLConnection1
----------------
SQLDataSet1
-------------
SQLConnection=SQLConnection1
DataSetProvider1
----------------
DataSet=SQLDataSet1

ClientDataSet1
--------------
ProviderName=DataSetProvider1
DataSource1
------------
DataSet=ClientDataSet1

// 2 : Conexion otra propuesta (Una sola Aplicacion)
SQLConnection1
----------------
SQLDataSet1
-------------
SQLConnection=SQLConnection1
DataSource1
------------
DataSet=SQLDataSet1

// 3 : Conexion otra propuesta (Dos Aplicaciones)
//******Aplicacion Servidor
SQLConnection1
----------------
SQLDataSet1
-------------
SQLConnection=SQLConnection1
DataSetProvider1
----------------
DataSet=SQLDataSet1
------------------------------------------------------------------------
//******Aplicacion Cliente
DCOM
------
ClientDataSet1
--------------
ProviderName=DataSetProvider1
DataSource1
------------
DataSet=ClientDataSet1


//********************************************************

Tengo que decidir cual seria la mejor para propositos generales, orientada a empresas pequeñas dedicadas al comercio de productos y servicios con un número máximo de usuarios igual a 10.

La propuesta 1 - Es la descrita en las demos de D7, me animaria por esa estructura.
La propuesta 2 - Es algo simple, no se si sea la mejor.
La propuesta 3 - Es una estructura multicapas, y eso requiere una pc adicional al servidor de base de datos para q haga de servidor de aplicaciones.


Realmente quisiera conocer sus experiencias y saber si algunos de ustedes ya trabajan con la primera propuesta y q beneficios obtendria con ese tipo de conexión, es decir incluir en la conexión el ClientDataSet y q diferencia existiria si solo trabajo con SQLDataSet como se ve en la propuesta2.

Muchissimas gracias por las respuestas
__________________
Joseph Buttgembach Verde
Lima - Perú
Responder Con Cita
  #2  
Antiguo 18-11-2004
Jan Jan is offline
Miembro
 
Registrado: may 2003
Ubicación: Cádiz
Posts: 90
Poder: 22
Jan Va por buen camino
Hola, Oxa78:

En primer lugar creo que la segunda opción deberías descartarla porque es muy limitada. Debes tener encuenta que DBExpress utiliza cursores unidireccionales, es decir, que solo puedes ver en un momento determinado un solo registro de la consulta que hayas lanzado. Ademas, este cursor solo puede avanzar hacia adelante, no puede retroceder a un registro anterior. Esto hace que no se puedan enlazar directamente a componentes multiregistro como pueden ser las rejillas de datos. Para eso hace falta usar algún sistema de caché, que es una de las ventajas que te ofrece Datasnap con los TClientDataSet.

Por tanto nos quedamos con dos opciones. Estas dos solo se diferencian en que se separa parte de la funcionalidad en dos capas, que se comunican mediante COM (o DCOM si se colocan es máquinas distintas). Como comentas, no necesitas un servidor de aplicación dedicado, pero debes saber que si el tráfico no va a ser excesivo, esta aplicación intermedia se puede colocar en el mismo servidor que la base de datos perfectamente sin que implique una merma de capacidades. Yo lo tengo puesto así en un Athlon 1 Ghz con 256 Mb y atendiendo a 10 clientes junto a Firebird 1.5 y no se nota ninguna ralentización.

Pese a ello, si no te convenze esta opción, lo que yo te recomiendo es una variante que consiste en colocar la capa intermedia en una dll que acompañaría a tu aplicación. Esto te serviría para mantener físicamente separadas las capas con lo que tendrías casi todo el trabajo hecho en caso de que, en un futuro, tuvieras que recurrir al servidor de aplicaciones, o si la empresa abriera una sucursal y quisiera usar la aplicación a traves de internet, por ejemplo. Precisamente esto último me ha pasado a mi hace relativamente poco, y el trabajo a realizar para la adaptación es mínimo. Ademas, al cargarse la dll en el mismo espacio de direcciones del proceso principal, la perdida de velocidad con respecto a tener todos los componentes juntos es mínima (inapreciable).

Espero que esto te sirva. De todas formas, la mejor referencia a estos temas la puedes encontrar en "La cara oculta de Delphi 6" de Ian Marteens.

Un saludo.
__________________
Guía de Estilo del Foro
Responder Con Cita
  #3  
Antiguo 18-11-2004
Oxa78 Oxa78 is offline
Miembro
 
Registrado: may 2003
Ubicación: Lima - Peru
Posts: 110
Poder: 22
Oxa78 Va por buen camino
Impresionante q rápido...

Muchas gracias Jan, q rápida fue la respuesta. Gracias por contarme tu experiencia, con esta información me es suficiente. Inmediatamente empezare a realizar pruebas con las alternativas q me presentas.

Nuevamente gracias por la ayuda.
__________________
Joseph Buttgembach Verde
Lima - Perú
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 21:50:06.


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