none
Subir base de datos a un servidor Web para conectarme desde diversos lugares RRS feed

  • Pregunta

  • Hola, disculpen mi ignorancia pero en la parte de Generar Scripts de la base de datos me llamo la atención que decía que se podía publicar en un servidor web de bases de datos, ¿como podría hacerlo? seria excelente subir una base de datos y luego conectarme a esa base de datos desde una aplicación de escritorio en VisualStudio en VB.net o C#.Net desde cualquier lugar con conexión a internet.
    martes, 10 de octubre de 2017 6:13

Respuestas

  • No, la base de datos no se sube a un servidor web, se sube a un servidor de base de datos. Otra cosa es que casualmente tengas instalado un servidor de base de datos en la misma máquina que también tiene instalado un servidor web, cosa que es normal para webs relativamente pequeñas.

    Pero cuando eso se hace, normalmente se configura el servidor de forma que la base de datos solo sea visible desde la aplicación web que está en la misma máquina. No es normal abrirla al exterior, por motivos de seguridad.

    No obstante, si tienes un servidor de esas características y quieres abrir la base de datos al exterior, como poderse se puede; es cuestión de abrir los puertos en el firewall y de habilitar el acceso externo en el motor de base de datos. Estas operaciones de administración de sistemas y de redes tienen que hacerse sobre el propio servidor, no pueden hacerse automáticamente desde la opción "publicar". Si lo hicieses y la configurases de esa manera, entonces sí, efectivamente podrías conectar desde una aplicación de escritorio en cualquier sitio.

    • Propuesto como respuesta Jorge TurradoMVP martes, 10 de octubre de 2017 6:56
    • Marcado como respuesta Renzo20 miércoles, 11 de octubre de 2017 7:28
    martes, 10 de octubre de 2017 6:55
  • No, el DSN no se configura en el servidor, sino en los clientes. Posiblemente estés acostumbrado a trabajar en entornos de desarrollo en los que el servidor y el cliente son la misma máquina, de ahi la confusión.

    En cualquier caso, una vez configurado el DSN en el cliente, no servirá para nada si la comuicación entre el cliente y el servidor está cerrada, bien sea en los cortafuegos o bien en el propio servidor. Por eso yo comentaba que un requisito previo es abrir esa comunicación en los sistemas y la infraestructura de red.

    Dicho eso, cabe comentar que los DSN y el ODBC (con o sin DSN) son tecnologías muy anticuadas, y no es nada recomendable utilizarlos para programas modernos (aunque funcionarían si se cumpliesen los requisitos mencionados). En Access utilizarías OleDb en lugar de ODBC. Y en VB.NET, aunque podrías usar también OleDb, es más eficiente usar el proveedor nativo para SQL Server (System.Data.SqlClient).

    • Propuesto como respuesta Jordi Masoliver martes, 10 de octubre de 2017 15:51
    • Marcado como respuesta Renzo20 miércoles, 11 de octubre de 2017 7:27
    martes, 10 de octubre de 2017 10:56

Todas las respuestas

  • No, la base de datos no se sube a un servidor web, se sube a un servidor de base de datos. Otra cosa es que casualmente tengas instalado un servidor de base de datos en la misma máquina que también tiene instalado un servidor web, cosa que es normal para webs relativamente pequeñas.

    Pero cuando eso se hace, normalmente se configura el servidor de forma que la base de datos solo sea visible desde la aplicación web que está en la misma máquina. No es normal abrirla al exterior, por motivos de seguridad.

    No obstante, si tienes un servidor de esas características y quieres abrir la base de datos al exterior, como poderse se puede; es cuestión de abrir los puertos en el firewall y de habilitar el acceso externo en el motor de base de datos. Estas operaciones de administración de sistemas y de redes tienen que hacerse sobre el propio servidor, no pueden hacerse automáticamente desde la opción "publicar". Si lo hicieses y la configurases de esa manera, entonces sí, efectivamente podrías conectar desde una aplicación de escritorio en cualquier sitio.

    • Propuesto como respuesta Jorge TurradoMVP martes, 10 de octubre de 2017 6:56
    • Marcado como respuesta Renzo20 miércoles, 11 de octubre de 2017 7:28
    martes, 10 de octubre de 2017 6:55
  • Creo que configurando DSN en el servidor se puede acceder desde vb.net o incluso Access por ODBC.
    martes, 10 de octubre de 2017 9:49
  • No, el DSN no se configura en el servidor, sino en los clientes. Posiblemente estés acostumbrado a trabajar en entornos de desarrollo en los que el servidor y el cliente son la misma máquina, de ahi la confusión.

    En cualquier caso, una vez configurado el DSN en el cliente, no servirá para nada si la comuicación entre el cliente y el servidor está cerrada, bien sea en los cortafuegos o bien en el propio servidor. Por eso yo comentaba que un requisito previo es abrir esa comunicación en los sistemas y la infraestructura de red.

    Dicho eso, cabe comentar que los DSN y el ODBC (con o sin DSN) son tecnologías muy anticuadas, y no es nada recomendable utilizarlos para programas modernos (aunque funcionarían si se cumpliesen los requisitos mencionados). En Access utilizarías OleDb en lugar de ODBC. Y en VB.NET, aunque podrías usar también OleDb, es más eficiente usar el proveedor nativo para SQL Server (System.Data.SqlClient).

    • Propuesto como respuesta Jordi Masoliver martes, 10 de octubre de 2017 15:51
    • Marcado como respuesta Renzo20 miércoles, 11 de octubre de 2017 7:27
    martes, 10 de octubre de 2017 10:56
  • Tienes razón Alberto, el DSN se configura en el cliente teniendo direccionado el DNS en el servidor. De esta forma se accede tranquilamente por ODBC, pero es cierto que es poco seguro y cómo comenta Alberto es una tecnología anticuada.

    Gracias por la corrección, Alberto.

    martes, 10 de octubre de 2017 14:56