PDA

Ver la Versión Completa : Conectando firebird en Internet


tulio
23-04-2007, 16:56:05
Hola Foro

Les comento que estoy probando hacer una aplicacion con Firebird y delphi, tengo una coneccion adsl y un proxy, en la PC del proxy tengo el programa que apunta a la base de datos de la siguiente manera
201.252.92.182:c:\sistemas\bsocial\bsocial.gdb, esa ip es la que me da el proveedor. En la maquina que cree la aplicacion conecta bien y anda barbaro, pero en una maquina en otra ciudad por ejemplo, la aplicacion tarda en levantar y luego cuando quiero hacer una consulta da el siguiente error

UNABLE TO COMPLETE NETWORK TO HOST '201.252.92.182' FAILED TO ESTABLISH A CONNECTION. Se ha intentado una operacion de socket en un host no accesible.

Pregunta, que me esta faltando para que ande el programa en la maquina remota.

Muchas gracias
saludos
tulio

afxe
23-04-2007, 17:22:14
Hola... este tema es interesante y me gustaría saber cómo se las apaña la gente con este tema, no obstante te comentaré mi experiencia:

Bases de datos remotas... ni de coña. Se produce un tráfico intenso bidireccional entre cliente servidor que una ADSL de menos de 8MB le es imposible tratar, aunque depende de los componentes que uses, si estás con BDE no te funcionará ni con una adsl de 20MB.

Realmente, si tu propósito es tener una BD remota accesible por ip fija, vete pensando en estas 4 opciones:
1º Hacer una aplicación web, en vez de una aplicación de escritorio, dentro de las aplicaciones web la tecnología .NET te aportará mucho más que lo que hasta ahora habíamos usado (ISAPI, ActiveX, DCom... )
2º Usar un servidor 2003 con Servicios de Terminal Server (o alguna utilidad así), es lo más rápido y cómodo, cuando el proyecto ya está terminado.
3º Usar replicadores de datos, como el IBReplicator, para mantener dos servidores Firebird con los mismos datos, pero es un toston matener una base de datos, añades un campo y se te va todo a tomar por...
4º ¿DataProvider? Esta es opción es la que menos domino, y por la que alguien quiera arrojarnos luz sobre el asunto.

Sinceramente, espero haberme equivocado y que haya más opciones para tener una aplicación con base de datos remota. Soy el primero que le sacará punta al lápiz para tomar nota.

Nasca
23-04-2007, 18:50:00
Yo he usado varias opciones. Una la más rápida es tirar de Terminal Server, no el de Microsoft sino del sorprendentemente sencillo de instalar y mantener WinConnect, que usa exactamente el protocolo del Terminal Server (el RDP). Recientemente una empresa ha probado Citrix para conectar la aplicación, sin embargo me comentan los usuarios que es mas lento que WinConnect.

Otra opción es http://www.winton.org.uk/zebedee/ que crea un túnel encriptado y comprimido. Es una mejora a la conexión directa con la base de datos. La aplicación se usa a nivel local con los problemas que evita en cuanto al uso de impresoras y gestión de ficheros que tiene TS, WC y Citrix, sin embargo si las consultas a la base de datos son muy pesadas es menos usable que esas opciones.

Sin embargo para trabajo esporádico y puntual si es buena opción. Sin ir muy lejos hasta hace poco tuve un usuario conectando a la central de una empresa con un modem RTB. Tiene la ventaja de que se puede usar también en linux para las aplicaciones CLX.

Por lo visto en las nuevas versiones de firebird hay cierta optimización en el uso de la red. Esperemos que dichos cambios mejoren el rendimiento del servidor en túneles ssh y similares.

tulio
23-04-2007, 19:31:53
Gracias a los dos por interesarles el tema, sigamos escuchando sugerencias

saludos

tulio

jhonny
23-04-2007, 20:04:50
Sugerencia, Revisa que el puerto 3050 este abierto.

julianlatasa
24-04-2007, 20:00:20
Ya que estas usando un proxy verificaria lo que dice Jhonny que esta abierto el puerto 3050 en la PC que tiene el proxy. Si eso funciona, intena hacer un PING para verificar la velocidad de conexion entre PC's y recuerda utilizar consultas breves o utilizar algun tipo de datafetch en los clientdataset para evitar el intenso trafico de datos. Otra opcion que tenes es utlizar WebService y transferir datos via XML.

arrayman
25-04-2007, 23:58:46
ya han comentado casi todas las opciones, quiza añadiria que si no deseas usar Asp.Net que ciertamente tiene muy buena pinta existe otra alternativa para desarrollarlo com web. a partir de la version 7 delphi trae los componentes intraweb de atozed software, la verdad es que no hay demasiada documentación pero la ventaja es que se programa salvando las diferencias igual que una aplicación de escritorio de echo este es el enfoque de asp.net si dispones de ellos dedicale un par de horas, aunque no te decidas por ellos te valdrá la pena solo por conocerlos,
no obstante si te decides por aplicacíón de escritorio yo sin duda utilizaria dbexpress por cuestiones de rendimiento, a mi entender la filosofia desconectada de los clientdataset debe generar menos trafico de red pero tampoc sabria decirte, en cuanto webservices yo solo la eljiria si la naturaleza de la aplicación lo requiere xml genera archivos mas voluminos y usa mas cpu por el trabajo de intrepretacion que conlleva, aunque supongo que el protocolo de envio de datos comprimira la información no lo se
en cualquier paso resuelve primero el problema de conexion con la db como te han dugerido pruebate usando cuanquier programa tipo ibconsole si ellos pueden tu deberias poder, aunque para probar si te conectas o no da igual cual uses yo os recomentadria "interbase/firebird development studio" http://www.sqlly.com tiene un gran inconveniente y es que cuesta pasta, a mi juicio si fuese un poco mas economico se venderia como rosquillas

por cierto la url de los componentes intraweb
http://www.atozed.com/IntraWeb/index.en.aspx

pues nada mas suerte

tulio
26-04-2007, 13:49:18
Gracias arrayman

la alternativa de intraweb me gusto mucho, estuve haciendo algunas pueba y va bien, el problema que tengo es que no puedo hacer reportes por impresora y otro problema es que tendria que contartar una IP fija.

saludos y Gracias

tulio

arrayman
26-04-2007, 13:55:14
los informes los puedes gestionar con rave generando pdf te los devolveria en una pagina aparte (yo no lo he hecho pero lo he visto )
en cuanto a la ip lo puedes reslover con DDNS DNS Dynamico, hay varias paginas que lo ofrecen de forma gratuita yo utilizo dyndns
creo que www.dyndns.org es su url

pd: me alegro de que te haya servido de algo un saludo

tulio
26-04-2007, 18:29:31
Gracias arrayman

Como es el concepto y como se hace el tema de las DNS dinamicos, hace mucho tiempo entre en NOIP que creo que es una web que trata lo que vos contas , pero no lo puede hacer andar, tal vez porque no tengo bien claro el concepto de esta metodologia.

Saludos y gracias

tulio

Casimiro Notevi
26-04-2007, 23:01:16
Gracias arrayman
Como es el concepto y como se hace el tema de las DNS dinamicos, hace mucho tiempo entre en NOIP que creo que es una web que trata lo que vos contas , pero no lo puede hacer andar, tal vez porque no tengo bien claro el concepto de esta metodologia. Saludos y gracias tulio
Te das de alta en no-ip, te piden un email y un password, luego das de alta el nombre que quieras, por ejemplo "tulio" y ya tienes tu dirección: tulio.no-ip.info. Te descargas el programita que ejecutas en tu ordenador y lo que hace es comprobar tu IP actual y enviarla a la base de datos de no-ip (la chequea cada pocos segundos o minutos) .
Cuando alguien pone en su navegador, o donde sea, tulio.no-ip.info, lo que está haciendo es conectarse a no-ip y éste le da tu IP actual y listo, ese es el proceso.
Resumiendo:

Te das de alta en no-ip
Creas un nombre asociado, ejemplo: tulio.no-ip.info
Descargas el programita que ejecutas en tu ordenador
Espero no haberme olvidado de nada :)

arrayman
26-04-2007, 23:43:38
en lo referente a ddns añadir que existe una posible alternativa bien interesante y que consiste en lo siguiente. [para aquellos que disponeis de un router en casa o los que penseis en adquirir uno proximamente] determinados routers soportan ddns de este modo ya no hace falta el programita que nos explicaba el amigo casimiro ya que es el propio router el se encarga de notificar a tu proveedor del servicio ddns que te han cambiado la ip ojo por que no todos los modelos van para todos los proveedores el mio es un linksys y soporta solo un par de proveedores. el proceso es el mismo que explico el amigo casimiro pero en vez de instalar el programa tienes que configurarle al router los datos de tu cuenta ddns creo que solo pide proveedor usuario y contraseña. como considero que aquellos servicios gratuitos deben ser conocidos voy a volver a nombrar mi proveedor ddns www.dyndns.org, y pondre un ejemplo al amigo tulio de uso practico y real. imagina que quieres montar un web con intraweb :-)) tu habres una cuenta tal que así tulio.dyndns.org hace toda la historia y puedes hacer cosas como ping tulio.dyndns.org, o puedes hacer http://tulio.dyndns.org y asi http://tulio.dyndns.org:4711
el numero del puerto me suena :-? pero si ademas quieres un nombre de domino gratis pues usas un dominio .tk gratuito aunque con algunas condiciones , solo les tienes que decir a que ip o url mandar las peticiones y aqui de nuevo puedes usar tulio.dyndns.org de modo que podrias tener una direccion tal como http://www.tulio.tk

Casimiro Notevi
26-04-2007, 23:48:36
El servicio que ofrece dyndns es el mismo que ofrece no-ip, es igual.

¿Seguro que el router hace eso?

arrayman
27-04-2007, 10:51:01
conoco no-ip de oidas se solo que prestan tb el servicio ddns por cierto dyndns te envia un mail en 25 (solo si tu ip no ha cambiado en ese tiempo claro) diciendo que usar el servicio con una ip fija es un abuso y te ofrecen otro similar para ips fijas es un coñazo si tu ip cambia con poca frecuencia por que tienes que hacer el proceso a mano en su web es sencillo pero es un pequeño incordio, sabes si no-ip tiene algun tipo de pega en algun sentido

en cuanto al router "el mio es un linksys y soporta solo un par de proveedores." en este mudo nada es seguro pero como te digo el mio lo hace y lo tengo sobre 2 o 3 años entonces era novedad supongo que ahora ira de serie. saludos

tulio
27-04-2007, 13:39:08
De nuevo muchisimas gracias a casimiro, arrayman y todos los que opinaron,

voy a empezar a probar lo que me indicaron

saludos y gracias

tulio