none
Conexión remota (LAN) RRS feed

  • Pregunta

  • Buen día muchach@s,

    Tengo una pregunta muy simple, me gustaría que alguien que supiera del tema me pudiera orientar.

    Quiero empezar a desarrollar una aplicación distribuida, el cliente bajará el ejecutable desde un sitio web e instalará el sistema. Mi pregunta es la siguiente:

    ¿Existe algún motor de base de datos, que permita la utilización de LINQ y conexiones remotas de la misma LAN que no sea SQL Express? (Si se pudiera utilizar entity framework, sería genial)

    Ya que la instalación de SQL Express para el cliente puede ser muy engorroso y la configuración del mismo igual, además pesa muchísimo. Estube averiguando sobre sqllocadb, y parece que no acepta conexiones remotas.

    Estimados ojalá me puedan orientar.

    Saludos





    lunes, 18 de mayo de 2015 17:56

Respuestas

  • Una opción que se me ocurre es instalar una base de datos local en uno de los puestos, por ejemplo, podría ser localdb o la edición Compact de SQL Server. Este servidor sólo funcionaría localmente en ese puesto... pero el programa que ruede en ese puesto podría exponer la funcionalidad que requieran los otros puestos a través de algún mecanismo de comunicación, como por ejemplo un servicio WCF. Los demás puestos llamarían a ese puesto "principal", y éste sería el único en interactuar contra su base de datos local.

    Otra opción sería proveer el servicio de acceso a datos desde fuera de la red, por ejemplo, desde un servidor montado en Azure. Todos los puestos de la red harían llamadas a la dirección pública del servidor en Azure, y no sería necesario instalar un servidor de base de datos en ninguno de los puestos de la red.

    lunes, 18 de mayo de 2015 18:53

Todas las respuestas

  • Si te parece engorrosa la instalación y configuración de SQL Express, entonces olvídate. Hay muchas más bases de datos, por ejemplo MySql o alguna versión de Oracle. Pero instalar y configurar cualquiera de ellas te costará todavía más trabajo que instalar y configurar SQL Express. Las que son sencillas, como por ejemplo el SQL Compact, son locales y no funcionan en red.

    Podrías usar alguna base de datos "de mentira", como por ejemplo manejar ficheros de Access usando el JET Engine (u otra versión más moderna) a través de una carpeta compartida. Pero aunque eso no requiere configurar nada en los puestos, sí que requiere configurar la carpeta compartida y asignar permisos a los usuarios, así que a pesar de todo la configuración sí que ocasiona algún engorro.

    lunes, 18 de mayo de 2015 18:07
  • La idea es que el cliente descarge el sistema, lo instale y lo haga funcionar, esa sería la idea. Por eso quiero evitar que el cliente instale SQL Express, además la idea es que en todos los computadores donde esté instalado el sistema (en una misma red) apunten a un servidor.
    lunes, 18 de mayo de 2015 18:20
  • Una opción que se me ocurre es instalar una base de datos local en uno de los puestos, por ejemplo, podría ser localdb o la edición Compact de SQL Server. Este servidor sólo funcionaría localmente en ese puesto... pero el programa que ruede en ese puesto podría exponer la funcionalidad que requieran los otros puestos a través de algún mecanismo de comunicación, como por ejemplo un servicio WCF. Los demás puestos llamarían a ese puesto "principal", y éste sería el único en interactuar contra su base de datos local.

    Otra opción sería proveer el servicio de acceso a datos desde fuera de la red, por ejemplo, desde un servidor montado en Azure. Todos los puestos de la red harían llamadas a la dirección pública del servidor en Azure, y no sería necesario instalar un servidor de base de datos en ninguno de los puestos de la red.

    lunes, 18 de mayo de 2015 18:53
  • Hola.

    ¿Has evaluado SQL Azure?

    http://azure.microsoft.com/es-es/services/sql-database/

    Saludos,


    Guillermo Taylor F.
    MVP SQL Server & IT Pro
    Mi Blog

    martes, 19 de mayo de 2015 2:00