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 09-07-2010
Avatar de Gimli
Gimli Gimli is offline
Miembro
 
Registrado: may 2008
Ubicación: Castilla La Mancha
Posts: 40
Poder: 0
Gimli Va por buen camino
¿Con la paleta interBase de Delphi 7 puedo conectar con firebird? ¿como?
Responder Con Cita
  #2  
Antiguo 09-07-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Valla tela , ahora te apetece cambiar de tema.....

Este tutorial te ayudara en lo que buscas.
Presiona aqui, con paciencia.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 09-07-2010
Avatar de Gimli
Gimli Gimli is offline
Miembro
 
Registrado: may 2008
Ubicación: Castilla La Mancha
Posts: 40
Poder: 0
Gimli Va por buen camino
OK gracias, perdona por lo de antes pero parecia que ibais a enzarzaros en un discusion de gustos personales...

¿La habeís probado con más de 5 pcs atacandole simultaneamente a traves una red local?
¿Como se comporta con tablas con miles de registros? ¿busca y filtra rapido por cualquier campo?
Responder Con Cita
  #4  
Antiguo 09-07-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
No puedo hablar por los demas.
En mi caso:
Tengo 7 ordenadores conectados a la BD simultaneamente sin problemas.
Eso si, Tratamos de no atacarla.........
Saludos
PD: Firebird se comporta muy bien, no le tengas miedo, duro con ella...
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 09-07-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
Para el amigo mcs, tienes razón es más sencillo, intuitivo y legible atacar las tablas tal como tu lo mencionas, al final cuando haces por ejemplo:
Código Delphi [-]
tabla.open;
tabla.append;
tabla.fieldbyName('micampo').AsString := 'valor';
tabla.post;

El componente que usas en realidad convierte todo eso en un insert (aunque tú no lo veas), lo mismo sucede cuando haces tabla.edit; el componente hará un "update table".

En ambos casos no hay ninguna ventaja apreciable en velocidad haciéndolo mediante la forma que mencionas o la que dice caral. Eso sí, hay que cuidarse de nunca de los nuncas hacer un "select * from tabla" sin ponernle un filtro para editar un solo registro pues entonce sí que tendras problemas de lentitud, pues te traeras todo de un jalón.

La gran ventaja de hacerlo como dices es que no tienes que revolver SQL directamente con tu código, lo que lo hace más legible.

Yo utilizo ese esquema para hacer CRUD (que es lo que más ocupa uno en entornos administrativos) y me ha funcionado sin ningún problema. También uso el esquema de caral cuando se trata de procesos tipo batch que no son interactivos.

Al final de cuentas cualquiera de los 2 métodos es correcto siempre y cuando estén bien aplicados y soportados, cualquiera va a ser lento si se basa en un mál concepto o diseño.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #6  
Antiguo 09-07-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
A mi escaso entender:
Esto:
Código Delphi [-]
tabla.open;
.............
Es exactamente lo mismo que esto:
Código Delphi [-]
Select * from Tabla

En otras palabras, te traes todo el contenido de la tabla, te guste o no.
Por lo tanto; Es mas simple, SI?, tal vez, pero no es mejor que hacer el edit, insert, ect directamente al campo sin traer nada extra.

Repito: a Mi pequeño, muy pequeño entender.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 09-07-2010
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
Cita:
Empezado por Caral Ver Mensaje
Hola
A mi escaso entender:
Esto:
Código Delphi [-]
tabla.open;
.............
Es exactamente lo mismo que esto:
Código Delphi [-]
Select * from Tabla

En otras palabras, te traes todo el contenido de la tabla, te guste o no.
Por lo tanto; Es mas simple, SI?, tal vez, pero no es mejor que hacer el edit, insert, ect directamente al campo sin traer nada extra.

Repito: a Mi pequeño, muy pequeño entender.
Saludos
Casi nunca uso el TTable o sus decendientes... por lo general uso un query para evitar traerme todos los registros.

Código SQL [-]
select * from tabla where id = :id

y luego hago las modificaciones en ese registro...

Código Delphi [-]
  Query1.edit;
  ...
  Query1.post;

igual trabaja para las inserciones.

Otra opinión no sobra...
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #8  
Antiguo 09-07-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 20
mcs Va por buen camino
Cita:
Empezado por AzidRain Ver Mensaje
Para el amigo mcs, tienes razón es más sencillo, intuitivo y legible atacar las tablas tal como tu lo mencionas, al final cuando haces por ejemplo:

Código Delphi [-]
tabla.open;
tabla.append;
tabla.fieldbyName('micampo').AsString := 'valor';
tabla.post;





El componente que usas en realidad convierte todo eso en un insert (aunque tú no lo veas), lo mismo sucede cuando haces tabla.edit; el componente hará un "update table".

En ambos casos no hay ninguna ventaja apreciable en velocidad haciéndolo mediante la forma que mencionas o la que dice caral. Eso sí, hay que cuidarse de nunca de los nuncas hacer un "select * from tabla" sin ponernle un filtro para editar un solo registro pues entonce sí que tendras problemas de lentitud, pues te traeras todo de un jalón.

La gran ventaja de hacerlo como dices es que no tienes que revolver SQL directamente con tu código, lo que lo hace más legible.

Yo utilizo ese esquema para hacer CRUD (que es lo que más ocupa uno en entornos administrativos) y me ha funcionado sin ningún problema. También uso el esquema de caral cuando se trata de procesos tipo batch que no son interactivos.

Al final de cuentas cualquiera de los 2 métodos es correcto siempre y cuando estén bien aplicados y soportados, cualquiera va a ser lento si se basa en un mál concepto o diseño.

Esto es lo que me refería!

Por otra parte, diría que en las IBDAC un table.open no equivale a un SELECT * FROM loquesea;. Lo tendría que mirar con detalle (las IBDAC traen un monitor para ver exactamente que comandos SQL se ejecutan)...
Responder Con Cita
  #9  
Antiguo 09-07-2010
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por mcs Ver Mensaje
Esto es lo que me refería!

Por otra parte, diría que en las IBDAC un table.open no equivale a un SELECT * FROM loquesea;. Lo tendría que mirar con detalle (las IBDAC traen un monitor para ver exactamente que comandos SQL se ejecutan)...
Perdón, pero un Table.Open de cualquier componente, traé SI ó SI todos los campos de la tabla es decir
Código SQL [-]
SELECT * FROM tabla
, puedes limitar el número de registros a través de un filtro. Eso es lo que Caral está comentando desde un inicio, con el Query puedes seleccionar los campos que realmente necesitas ahorrando tiempo y recursos.

Saludos
Responder Con Cita
  #10  
Antiguo 09-07-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por Gimli Ver Mensaje
¿cual es el mejor componente para usar firebird desde delphi7? que permita usar las caracteristicas que usan la Ttables con paradox, para que la migracion de los programas no sea traumatica
Los componentes IBX que te ha indicado Caral y también los FIBplus, ambos son de acceso directo. Luego hay varios con "intermediario" como ZeosLib, que tienen una buena pinta también.

Cita:
Empezado por Gimli
Y segundo punto, es firebird una base de datos fiable, rapida y estable
Eso ya lo contesté antes, es muy muy muy fiable, es muy muy muy rápida y es muy muy muy estable.

Cita:
Empezado por Gimli Ver Mensaje
Anteriormente usaba paradox pero las tablas se estropeanban... a veces con el uso o por que el cliente apagaba mal el equipo, luego cambie a pervasive que es mas robusta pero consume bastantes recursos y para aplicaciones que tengan que estar en red local con tablas con miles o millones de registros es lentisima
Precisamente son dos puntos fuertes de Firebird, está pensada para que no exista problema antes una desconexión de la misma, sea por imprudencia, corte de electricidad, etc.
Igual que está preparada para trabajar con grandes cantidades de datos sin que baje de rendimiento

Cita:
Empezado por Gimli
¿La habeís probado con una base de datos en red con más de 5 puestos atacandole simultaneamente?
¿Como se comporta con tablas con miles de registros? ¿busca y filtra rapido por cualquier campo?
¿5 puestos?, ¿miles de registros?, eso es una broma para firebird. Como ejemplo, uno de mis clientes mantiene alrededor de 500 conexiones todo el día, son unos cien equipos con varios programas que atacan la misma base de datos. El tamaño de la base de datos es superior a los 20 Gigas y los registros no se cuentan por miles, sino por decenas de millones.
Las bases de datos de casi todos mis clientes están por encima de 500 Megas y las conexiones están alrededor de 50 (de media).

Cita:
Empezado por Gimli
El uso que le quiero dar es para todos los casos, pues si funciona bien migraria todas las aplicaciones (con el tiempo) a esta base de datos, y unas aplicaciones son de almacenamiento masivo de datos,
otras prima la velocidad, otras la respuesta en red a los terminales conectados
Perfecto, está pensada para todo eso.

Cita:
Empezado por Gimli
¿Como se comporta con tablas con miles de registros? ¿busca y filtra rapido por cualquier campo?
Ahí es donde entra la parte que le toca al programador, usa sentencias sql eficientes y verás que da igual tener una tabla con un registro o con un millón.

Además debes recordar que con Firebird puedes usar servidores con una amplia variedad de sistemas operativos, puedes instalarlo desde los más pequeños equipos hasta los superordenadores más grandes que existen, ya que funciona en linux (es su entorno natural).
Además es libre y gratis.

Por cierto, aunque me gusta mucho Firebird, yo tampoco descartaba PostgreSQL de la lista.
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
Delphi 6 y Firebird 2.1 Pedro-Juan Conexión con bases de datos 7 21-09-2008 00:22:51
Firebird y Delphi 7 miguel_e Conexión con bases de datos 2 16-11-2007 18:11:23
firebird y delphi.net julyus Firebird e Interbase 2 25-10-2006 15:48:51
Delphi 5 y Firebird alexcabo Firebird e Interbase 3 18-07-2006 01:40:24
Firebird en Delphi JXJ Firebird e Interbase 3 04-11-2005 20:19:48


La franja horaria es GMT +2. Ahora son las 13:31:34.


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