none
accesar a SQL SERVER desde una tablet o un mobil RRS feed

  • Pregunta

  • Buen dia, tengo una duda y espero me puedan ayudar

    tengo una base de datos hecha en SQL SERVER en una computadora, mi tarea es conectarme a la base de datos de la computadora con una tablet, podrian recomendarme que utilizar ya sea ASP.NET, VB, C# lo que sea mas recomendable??

    espero puedan ayudarme

    SALUDOS

    lunes, 16 de junio de 2014 7:13

Respuestas

  • Los dispositivos móviles no se conectan directamente con SQL Server, acceden a SQL Server a través de un intermediario, una aplicación web, que expone servicios web REST que usan JSON como formato de datos.

    Probablemente lo más recomendable sería crear una aplicación web ASP.NET MVC que use web api e instalarla en un servidor web conectado a Internet por medio de un proxy inverso como Forefront Threat Management Gateway . Este servidor web accedería al servidor de base de datos normalmente.

    Para el dispositivo móvil habría que crear una aplicación que accediera a los servicios web REST que residen en el servidor web. Para desarrollar esta aplicación habría que usar la herramienta adecuada dependiendo del sistema operativo:

    • iOS: Xcode y Objective C
    • Android: Eclipse y Java
    • Windows Phone: Visual Studio y C#

    EntityLite: A Lightweight, Database First, Micro ORM

    • Propuesto como respuesta Uriel Almendra lunes, 16 de junio de 2014 16:57
    • Marcado como respuesta Aaron Rincon lunes, 16 de junio de 2014 19:37
    lunes, 16 de junio de 2014 7:31
  • ¿Tienes ya un servidor web con IIS para subir la aplicación?

    ¿Tienes un dominio registrado y una entrada en el DNS que apunte a tu servidor web?

    ¿Tienes un proxy inverso como Forefront Threat Management Gateway o squid o tienes el servidor web directamente conectado a Internet?

    ¿El servidor web tiene acceso por red de área local al servidor de SQL Server?

    ¿Están las máquinas en el mismo dominio?

    Desplegar y configurar aplicaciones web es una tarea de los tíos de sistemas.

    En nuestra empresa las aplicaciones web las desplegamos de forma manual, y a pesar de haberlo hecho cientos de veces siempre falla algo. Aunque al final siempre lo conseguimos.

    Básicamente los pasos son (suponiendo que las máquinas están en el mismo dominio y detrás de un TMG)

    En el Servidor de SQL Server:

    • Crear una cuenta de usuario de dominio para que actúe como cuenta de servicio de la aplicación. La llamaremos MiDominio/MiApp
    • Crear un inicio de sesión en SQL Server para MiDominio/MiApp
    • Concecer a MiDominio/MiApp permisos para acceder a la base de datos. Ponerle en el rol db_owner es mucho más que suficiente (quizá demasiado)

    En el servidor web:

    • Crear un Application Pool  llamado MiApp con identidad MiDominio\MiApp
    • Crear un nuevo sitio web con el app pool MiApp. Supongamos que el directorio base del sitio web es c:\SitiosWeb\MiApp
    • Configurar los bindings del sitio web. Suponiendo que tienes una entrada DNS MiApp.MiDominio.com apuntado a la dirección externa (de Internet) del TMG. Pones el nombre de host MiApp.MiDominio.Com
    • Dar los permisos NFTS necesarios a MiDominio\MiApp en c:\SitiosWeb\MiApp. Al menos tiene que tener lectura y ejecución. Si la app tiene que escribir archivos por ejemplo porque se suban  archivos. Dale los permisos de escritura necesarios en las subcarpetas que tenga que tenerlos.
    • Copiar los archivos necesarios para ejecutar la aplicación web a c:\SitiosWeb\MiApp. Dll's, imagenes, .aspx, css, web.config, etc.
    • Modificar el web.config. Normalmente la configuración en producción será diferente que en desarrollo. Cadena de conexión, rutas, servicio smtp, etc.

    en el TMG:

    • Crear una nueva regla de firewall para publicar la aplicación MiApp.MiDominio.com

    EntityLite: A Lightweight, Database First, Micro ORM

    • Marcado como respuesta Aaron Rincon martes, 17 de junio de 2014 17:25
    martes, 17 de junio de 2014 15:24

Todas las respuestas

  • Los dispositivos móviles no se conectan directamente con SQL Server, acceden a SQL Server a través de un intermediario, una aplicación web, que expone servicios web REST que usan JSON como formato de datos.

    Probablemente lo más recomendable sería crear una aplicación web ASP.NET MVC que use web api e instalarla en un servidor web conectado a Internet por medio de un proxy inverso como Forefront Threat Management Gateway . Este servidor web accedería al servidor de base de datos normalmente.

    Para el dispositivo móvil habría que crear una aplicación que accediera a los servicios web REST que residen en el servidor web. Para desarrollar esta aplicación habría que usar la herramienta adecuada dependiendo del sistema operativo:

    • iOS: Xcode y Objective C
    • Android: Eclipse y Java
    • Windows Phone: Visual Studio y C#

    EntityLite: A Lightweight, Database First, Micro ORM

    • Propuesto como respuesta Uriel Almendra lunes, 16 de junio de 2014 16:57
    • Marcado como respuesta Aaron Rincon lunes, 16 de junio de 2014 19:37
    lunes, 16 de junio de 2014 7:31
  • Entonces si ya tengo creada una aplicacion web ASP.NET MVC aunque aun no le he implementado lo de web api, pero entonces necesitaria instalarla en un servidor, esa es mi mayor duda practicamente ya tengo la aplicacion funcionando en local, necesito implementarla para hacer que funcione de forma remota, me podrias recomendar que utilizar para subirla??
    lunes, 16 de junio de 2014 20:57
  • ¿Tienes ya un servidor web con IIS para subir la aplicación?

    ¿Tienes un dominio registrado y una entrada en el DNS que apunte a tu servidor web?

    ¿Tienes un proxy inverso como Forefront Threat Management Gateway o squid o tienes el servidor web directamente conectado a Internet?

    ¿El servidor web tiene acceso por red de área local al servidor de SQL Server?

    ¿Están las máquinas en el mismo dominio?

    Desplegar y configurar aplicaciones web es una tarea de los tíos de sistemas.

    En nuestra empresa las aplicaciones web las desplegamos de forma manual, y a pesar de haberlo hecho cientos de veces siempre falla algo. Aunque al final siempre lo conseguimos.

    Básicamente los pasos son (suponiendo que las máquinas están en el mismo dominio y detrás de un TMG)

    En el Servidor de SQL Server:

    • Crear una cuenta de usuario de dominio para que actúe como cuenta de servicio de la aplicación. La llamaremos MiDominio/MiApp
    • Crear un inicio de sesión en SQL Server para MiDominio/MiApp
    • Concecer a MiDominio/MiApp permisos para acceder a la base de datos. Ponerle en el rol db_owner es mucho más que suficiente (quizá demasiado)

    En el servidor web:

    • Crear un Application Pool  llamado MiApp con identidad MiDominio\MiApp
    • Crear un nuevo sitio web con el app pool MiApp. Supongamos que el directorio base del sitio web es c:\SitiosWeb\MiApp
    • Configurar los bindings del sitio web. Suponiendo que tienes una entrada DNS MiApp.MiDominio.com apuntado a la dirección externa (de Internet) del TMG. Pones el nombre de host MiApp.MiDominio.Com
    • Dar los permisos NFTS necesarios a MiDominio\MiApp en c:\SitiosWeb\MiApp. Al menos tiene que tener lectura y ejecución. Si la app tiene que escribir archivos por ejemplo porque se suban  archivos. Dale los permisos de escritura necesarios en las subcarpetas que tenga que tenerlos.
    • Copiar los archivos necesarios para ejecutar la aplicación web a c:\SitiosWeb\MiApp. Dll's, imagenes, .aspx, css, web.config, etc.
    • Modificar el web.config. Normalmente la configuración en producción será diferente que en desarrollo. Cadena de conexión, rutas, servicio smtp, etc.

    en el TMG:

    • Crear una nueva regla de firewall para publicar la aplicación MiApp.MiDominio.com

    EntityLite: A Lightweight, Database First, Micro ORM

    • Marcado como respuesta Aaron Rincon martes, 17 de junio de 2014 17:25
    martes, 17 de junio de 2014 15:24