Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-11-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
lentitud en conexion remota con bases de datos

Mi gozo en un pozo!.

Dejadme que me desahogue

Hay elementos que uno no tiene en cuenta a la hora de hacer un programa, en mi caso, y gracias a vosotros aprendo mucho, al final no se si me servirá para algo, pero por lo menos mantengo ocupado en mis ratos libres el cerebro.
Empecé con el sqlite, por ser mas sencillo, a mi parecer, y monopuesto. Muy bien. Un programa que tenia en sqlite lo pase a firebird, y funciona estupendamente en red local, con algún detallito de lentitud.
Y ahora lo estoy probando remotamente via internet, y se tarda mucho en abrir. Si, se que he usado archivos blob y eso alente la conexión también.
Como decía, en estos casos, uno no tiene en cuenta la velocidad de subida de internet en el servidor (que suele ser la que nos dan al contratar el servicio de internet) en mi caso, 768kbits con 12 mbits de bajada.
Pero sí es frustrante tanto trabajo para nada, porque podría haber dejado la base de datos en sqlite y seguir usandola en red local con enlaces.

Hace 15 minutos que he abierto mi programa y todavia esta conectando con la base de datos, asi que ni abre (las conexiones están bien ).

en fin, una disculpa por este post, aunque me ha servido para compartir mi frustración.

saludos
Responder Con Cita
  #2  
Antiguo 24-11-2012
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.019
Poder: 10
Julián Va por buen camino
Lamentarse no te va a solucionar nada. Con esa conexión, si te va lento es por que hay algo mal. Si quieres, abre un hilo, en el foro adecuado, explicando como es tu aplicación, como se conecta, lenguaje que usas, etc, y seguro que te podremos ayudar a identificar el fallo y su solución.

Un saludo.
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
Responder Con Cita
  #3  
Antiguo 24-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Coincido con Julián, una cosa es que en lugar de una décima de segundo, ahora tarde 2 segundos. Pero un cuarto de hora para conectar es que algo está muy mal
Responder Con Cita
  #4  
Antiguo 24-11-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Gracias por darme un poco de esperanza.

Vereis, la conexion la hago a traves de un tunnel ssh.
Con un administrador, como el fdbmaestro, al intentar ver los datos, por ejemplo, de la tabla con los blob, me tarda un par de minutos, con flamerobin, tarda menos, pero con la aplicacion que tengo (que son dos), con una tarda en abrir 15 min y con la otra casi nada.

La conexión es esta:

Código Delphi [-]
zconnection1.Protocol:='firebird-2.5';
 try
 zconnection1.Connected:=true;
 except
 showmessage('conexión imposible. Verifique su conexión');
 end;
zquery3.connection:=zconnection1;
zquery2.Connection:=zconnection1;
zquery1.Connection:=zconnection1;
zquery4.connection:=zconnection1;

zquery2.SQL.text:='select * from tbeneficiario';
zquery3.SQL.Text:='select * from tcuentas';
zquery1.sql.text:='select * from tcheques';
zquery4.sql.text:='select * from facturas';
 zquery3.Active:=true;
 zquery2.Active:=true;
 zquery4.active:=true;
 zquery1.Active:=true;
 datasource1.DataSet:=zquery1;
 datasource2.dataset:=zquery2;
 datasource3.dataset:=zquery3;
 datasource4.dataset:=zquery4;
 dbgrid1.DataSource:=datasource1;
 dblookupcombobox1.ListSource:=datasource3;
 dblookupcombobox1.KeyField:='clave';
 dblookupcombobox1.ListField:='cuenta';

 dblookupcombobox2.ListSource:=datasource2;
 dblookupcombobox2.KeyField:='claveb';
 dblookupcombobox2.ListField:='calculado';
 dblookupcombobox1.itemindex:=0;

 dblookupcombobox2.Enabled:=false;


 FILTRO1:=1;
 FILTRAR;
 FECHAS;
 COMBOBOX1.ItemIndex:=MES-1;
 SPINEDIT1.Value:=ANO;
 checkbox2.Checked:=true;
 cambiar;
 ORDEN:=' ASC';

end;

Código Delphi [-]
procedure tform1.leerconfiguracion;
 var
   archivoini:tinifile;
   basededatos:string;
   servidor:string;
   puerto:string;
begin
archivoini:=tinifile.create(ExtractFilePath( Application.ExeName)+'path.ini');
basededatos:=archivoini.readstring('ruta','path','val');
puerto:=archivoini.readstring('ruta','puerto','val');
servidor:=archivoini.readstring('ruta','server','val');
zconnection1.Database:=basededatos;
zconnection1.HostName:=servidor;
zconnection1.Port:=strtoint(puerto);
 archivoini.Free;
end;

La base de datos tiene 2000 registros, y ocupa 34 mb.

No se que mas datos se necesitan.

Gracias de nuevo de verdad
Responder Con Cita
  #5  
Antiguo 24-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Primera regla: nunca jamás hagas burradas del tipo 'select * from ...'
Código:
zquery2.SQL.text:='select * from tbeneficiario'; 
zquery3.SQL.Text:='select * from tcuentas'; 
zquery1.sql.text:='select * from tcheques'; 
zquery4.sql.text:='select * from facturas';
Responder Con Cita
  #6  
Antiguo 24-11-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
gracias amigo casimiro.

Si, se que eso recoge todos los registros. Pero eso lo uso cuando quiero ver todos los registros.

Llamame burro o asno, pero siempre habia usado eso asi incluso para consultas.

Código Delphi [-]
procedure TForm1.filtrar;
begin
zquery1.close;
ZQUERY1.sql.clear;
ZQUERY1.SQL.Text:='select sum(cmonto) as suma11 FROM tcheques where ccuenta=:cuenta2';
zquery1.ParamByName('cuenta2').asinteger:=filtro1;
ZQUERY1.active:=true;
LABEL2.CAPTION:=FloatToStrF((zquery1.Fieldbyname('suma11').asfloat),ffcurrency,8,2);
label2.repaint;
ZQUERY1.SQL.Clear;
ZQUERY1.SQL.TEXT:='select * from tcheques where ccuenta=:cuenta2';
zquery1.ParamByName('cuenta2').asinteger:=filtro1;
zquery1.active:=true;
end;

Gracias de verdad.
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
Problemas con conexión a una Base de datos remota. germancbaarg Conexión con bases de datos 1 24-04-2008 20:45:00
Conexión a base de datos remota martinzcr Firebird e Interbase 3 27-08-2007 19:46:00
Conexion remota a Base de datos jorelivi Servers 1 22-06-2007 22:50:11
Lentitud: Conexion a dos bases y dos exe Alexander Conexión con bases de datos 1 13-06-2007 20:28:54
Conexion a Base de Datos Remota juanjoassenza Firebird e Interbase 3 12-03-2005 01:35:00


La franja horaria es GMT +2. Ahora son las 13:00:38.


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