none
Acceso a base de datos mediante internet RRS feed

  • Pregunta

  • Hola, tengo una gran traba...

    Estoy programando en vb.net 2008. Tengo una aplicacion que accede para tomar datos a una BD que se encuentra en un servidor. Hasta aqui no hay problema, es decir accedo y recupero info sin problemas. 
    Lo que necesitos es saber que deberia cambiarle a mi cadena de conexion o a lo que sea para que se pueda acceder a esta base de datos por medio de internet (inalambrica, generalmente) . La aplicacion la van a utilizar mas de una persona y algunos desean hacerlo desde una nootebook desde otro sitio que no sea la misma empresa...
    Necisto saber algo sobre esto, permisos, etc... estoy bastante en el aire
    Gracias

     


    Sebasss

    • Cambiado Enrique M. Montejo martes, 24 de abril de 2012 6:14 acceso a datos (De:Lenguaje VB.NET)
    martes, 17 de abril de 2012 14:53

Todas las respuestas

  • hola

    pero cual sera el hosting que daras a esta db ? sera una pc que expones a internet o tienes un hosting

    el tema es que la forma recomendadad es que crees una VPN como medio de conexion segura

    solo uan VPN asegura la conexion segura a la pc remota para acceder a los datos

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 17 de abril de 2012 15:13
  • Te copio una respuesta que entregue en una consulata anterior. Espero te sirva:

    Te explico cómo utilizar una base de datos SQL Server remota en tus aplicaciones:

    Cómo has de saber, la mayoría de las empresas que prestan el servicio de hospedaje web (para esta explicación en servidores Windows obviamente) también ofrecen Base de datos.

    Dependiendo de cada empresa los servicios ofrecidos varían en calidad y en cantidad de prestaciones. La mayoría ofrecen base de datos sólo para trabajar en aplicaciones web hospedadas en el mismo servidor, pero hay otras que te permite acceso a la base de datos desde tu propia máquina o desde las de tus clientes (para tus aplicaciones conectadas a esa base de datos).  Para ello sólo debes configurar la cadena de conexión según te lo indique la empresa prestadora del hospedaje de BD.

    De esta forma, puedes, desde el administrador corporativo instalado en tu máquina de desarrollo, trabajar en la base de datos remota como si estuviera instalada en tu propio equipo.  Para ello debes tener instalada alguna versión de SQL. En mi caso utilizo SQL Server 2008 R2 en su versión express que es gratuito (con él me conecto a una base de datos SQL Server 2000 residente en el servidor). De manera similar, tus aplicaciones usarán la base de datos tal como si estuviera instalada localmente.

    Como generalmente el acceso a la base de datos está sujeto a restricciones de seguridad, la empresa prestadora del servicio de hospedaje, puede conceder permiso mediante la validación de la IP desde la cual se pretende acceder la base de datos.

    Cuando cuentas con IP fija, basta con informar esta IP a la empresa prestadora del servicio de hospedaje para que ella registre esta IP como segura y permita el acceso a la base de datos.

    Cuando la IP es variable, como en mis equipos de desarrollo, la empresa te permite acceso mediante la validación temporal de tu IP variable a través de una simple autenticación en un formulario web, el que debe permanecer abierto mientras este en uso la aplicación o mientras trabajes directamente en la base de datos.

    En mi caso, algunos clientes que usan mis aplicaciones han contratado IP fija, evitándose la autenticación vía web y otros usan IP variable sin mayores complicaciones.

    Un punto crítico es la de conexión a Internet la que debe ser lo más estable posible. Generalmente las conexiones DSL sufren de pequeñas desconexiones, que en el caso de una navegación normal pasan inadvertidas para el usuario, pero en este caso, la autenticación inicial puede perderse, haciendo que la aplicación se desconecte de la base de datos.

    Generalmente las empresas proveedoras de Conectividad ofrecen diversos niveles de servicios y, dependiendo de cuanto pueda gastar tu cliente podrás optar a medios más o menos estables.

    Es premisa básica para este tipo de solución que tu cliente cuente con Conexión a Internet u otro tipo de enlace a la base de datos y, estar consciente de que el funcionamiento de la aplicación depende de que dicha conexión este en funcionamiento.

    Cómo desconozco en qué país resides, no haré referencia a los proveedores que yo utilizo, ya que puede ser un dato inservible para ti.

    Lo expuesto en fruto de mi experiencia en el área y posiblemente sea una solución cuestionable por personas con más conocimientos, pero en mi caso ha sido una buena solución y lo más importante es que a mis clientes les gusta y satisface. Sobre todo cuando instalan la aplicación en sus notebooks y pueden trabajar desde cualquier parte en que tengan acceso a internet.

    Espero que te sea de utilidad.

    Si tienes más consultas, estoy a tu disposición.

    Atentamente,


    Manuel Luengo

    martes, 17 de abril de 2012 16:07
  • Hola Leandro Tengo una pregunta, que no he podido solucionar y es la siguiente con respecto a estos temas,  es la siguiente:

    Yo tengo una pc normal en mi casa, tiene instalada sql server 2008 express y una BD pequeña, y tengo internet.

    Si yo me voy para otro municipío o para el centro del pais, ¿Como acedo a mi DB que esta en mi casa en la pc?, el acceso deseo realizarlo a travez de SQL Server Management Studio, ¿Tengo que Configurar algo en mi PC?

    Te Agradezco todo la información

    sábado, 24 de noviembre de 2012 16:09
  • Es más complicado de lo que parece. Si el PC está en tu casa, conectado a internet a través de un router ADSL, casi con total seguridad el PC tiene una dirección privada del tipo 192.168.x.x, y el router hace traducción de direcciones (NAT) para que los PCs de tu red interna se vean todos como una única dirección pública. Este tipo de configuración de red hace que tu PC no sea accesible desde el exterior. La única dirección visible es la del router, pero si el router recibe una petición entrante originada en el exterior, no sabe a qué pc de la red interna debe dirigirla. Para conseguir que funcione, tendrías que reconfigurar el router para que realice lo que se denomina "NAT inverso", de forma que una petición externa dirigida al puerto de SQL Server (o al que tú configures) se mapee al PC interno donde realmente estás ejecutando el SQL Server (que por defecto es invisible al mundo exterior).

    Así que la respuesta a tu pregunta "¿Tengo que Configurar algo en mi PC?" es que no, no hay que configurar nada distinto de lo que tendrías que configurar si accedieses al SQL Server desde otro PC instalado en casa al lado del anterior. Lo que sí que tienes que configurar es el NAT inverso en tu router. No hay una forma estándard de hacer esto; cada marca y modelo de router es diferente, así que tendrás que leer cuidadosamente el manual del tuyo y aprender a configurarlo.

    sábado, 24 de noviembre de 2012 19:40