Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-08-2007
[pepon386] pepon386 is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Valencia
Posts: 68
Poder: 22
pepon386 Va por buen camino
Cita:
Empezado por rolandoj Ver Mensaje
Hola,

2. Según creo, la conexión a Base de Datos pasa por el esquema del TClientDataSet; así que no podrían implementarse características de independencia como las que mencioné antes. En otras palabras, si se quiere tener las ventajas que tengo ahora con mi metodología, tocaría trabajar exactamente con dbExpress usando la misma filosofía que tengo actualmente con BDE, en consecuencia, solo podríamos hablar de ventajas de rendimiento; así que la pregunta sigue siendo : Hay razones para creer que dbX pueda brindar significativamente mejor rendimiento que BDE bajo este esquema de trabajo ?
Siento discrepar contigo, pero precisamente la "gracia" del TClientDataSet es que te permite trabajar de la misma manera independientemente de la base de datos que haya detrás. Fíjate, incluso podrías seguir con la filosofía que tienes de hacer por SQL directo (como tú dices) las actualizaciones manteniendo el desarrollo visual y los componentes enlazados a datos, que a fin de cuentas es lo que te permite ahorrarte un montón de tiempo en el desarrollo.
Responder Con Cita
  #2  
Antiguo 30-08-2007
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 20
Nasca Va por buen camino
Creo que si trabajas con servidores SQL (como es tu caso) te evitarás alguna capa intermedia. El drivers dbx funciona como un conector intermedio entre la aplicación y la librería de acceso al servidor SQL, la conexión es casi directa. Y precisamente tiene ese diseño para facilitar la portabilidad entre distintos SGBD. Nunca he utilizado BDE pero me parece que incluye una capa más (algo anticuada y sin desarrollo), el propio BDE. En comparación Dbx es mas liviano y directo y en consecuencia mas rápido y eficiente, o eso creo yo.

Lo suyo sería montar un pequeño programa test dual (DBX y BDE) y probar el rendimiento con inserciones, select y modificaciones masivas.

De todas formas sigo pensando que el problema para portar aplicaciones entre distintos SGBD sigue estando en el subconjunto de datos, SQL y "programación" en el servidor que contemple la aplicación. Respetando eso no habría problema de intercambiar algunos parámetros en el SQLConection y listo. Cosa distinta sería aprovechar la misma base para interfaces web.
Responder Con Cita
  #3  
Antiguo 30-08-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Smile Tres punto importantes

Hola,

Gracias por tús comentarios.

Creo que tocas tres puntos importantes.

El primero es como envía BDE y como envía dbExpress. Pienso que es el punto más importante para teorizar rendimiento bajo un escenario como el que tengo. Lo malo es que, según explicas, estas en el caso opuesto al mío, trabajas dbExpress; pero nunca has trabajado BDE; así que creo que nos queda dificil comparar esa parte. Ojala alguién que conozca bien el funcionamiento interno de ambos productos pueda ilustranos.

El segundo punto es lo de la portabilidad a plataformas diferentes. Ese problema lo tengo resuelto de forma muy satisfactoria para mí. La pregunta fuerte es como manejar ese escenario con dbExpress. Digamos que tenemos el servidor usando dbExpress; pero el cliente es de otro fabricante de software. Puede ofrecernos dbExpress algo que mejore significativamente la metodología que uso ?. Tengo seria dudas porque al no tener el apoyo de la información originada en TClientDataset, supongo que tendría que hacerse esencialmente lo mismo que ya yo estoy haciendo.

El último punto es lo de los programas de pruebas. Fué por supuesto mi primera idea ya que a la hora de la verdad, ese sería el juez supremo; pero, dada la notable eficiencia que de por sí me ha demostrado el BDE y la complejidad de los modelos a emplear, para que la prueba sea realmente significativa el esfuerzo es grande y la considero solo como una opción extrema; por eso preferí tratar de documentarme teoricamente con la gente del foro.

Cita:
Empezado por Nasca Ver Mensaje
Creo que si trabajas con servidores SQL (como es tu caso) te evitarás alguna capa intermedia. El drivers dbx funciona como un conector intermedio entre la aplicación y la librería de acceso al servidor SQL, la conexión es casi directa. Y precisamente tiene ese diseño para facilitar la portabilidad entre distintos SGBD. Nunca he utilizado BDE pero me parece que incluye una capa más (algo anticuada y sin desarrollo), el propio BDE. En comparación Dbx es mas liviano y directo y en consecuencia mas rápido y eficiente, o eso creo yo.

Lo suyo sería montar un pequeño programa test dual (DBX y BDE) y probar el rendimiento con inserciones, select y modificaciones masivas.

De todas formas sigo pensando que el problema para portar aplicaciones entre distintos SGBD sigue estando en el subconjunto de datos, SQL y "programación" en el servidor que contemple la aplicación. Respetando eso no habría problema de intercambiar algunos parámetros en el SQLConection y listo. Cosa distinta sería aprovechar la misma base para interfaces web.
Responder Con Cita
  #4  
Antiguo 30-08-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Smile Mayor información

Cita:
Empezado por pepon386 Ver Mensaje
Siento discrepar contigo, pero precisamente la "gracia" del TClientDataSet es que te permite trabajar de la misma manera independientemente de la base de datos que haya detrás. Fíjate, incluso podrías seguir con la filosofía que tienes de hacer por SQL directo (como tú dices) las actualizaciones manteniendo el desarrollo visual y los componentes enlazados a datos, que a fin de cuentas es lo que te permite ahorrarte un montón de tiempo en el desarrollo.
Hola,

Te agradezco el aporte.

Corrijeme si estoy equivocado; pero según entiendo, el TClientDataset captura los datos en pantalla y vía un provider se comunica con el DataSet final. Desde el punto de vista de trabajo de codificación eso es esencialmente lo mismo que hacemos con el BDE cuando usamos controles TDB conectados a un TTable vía TDatasource. La diferencia de rendimiento a favor del dbExpress es que lo hace con todo en cache con lo que cuando se guardan los datos se efectúa una transacción corta, en tanto que en BDE la transacción está abierta desde el inicio de la edición de datos.

En ese orden de ideas, el principio de independencia de Base de Datos es el mismo en el BDE como en el dbExpress. Como dije, apenas estoy empezando como dbExpress; pero me consta que funciona muy bien con BDE.

En mi metodología uso el mismo principio para trabajar también entre plataformas, enviando un solo bloque de datos al servidor cuando es necesario grabar; ese esquema dá independencia entre las herramientas de captura en pantalla y las de grabación de datos, ya que no hay intermediarios exigidos. La pregunta es : Como puede trabajarse con dbExpress de tal forma que se logre lo mismo y se haga en un tiempo significativamente menor ?.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
El arroz que está llegando a nuestras mesas no está autorizado para consumo humano sakuragi La Taberna 5 13-10-2013 00:07:14
Mejor herramienta de reportes costo/beneficio saldanaluis Impresión 10 17-07-2007 20:46:42
de donde me bajo gustavoh Firebird e Interbase 1 07-03-2005 19:28:27


La franja horaria es GMT +2. Ahora son las 21:43:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi