Bases de datos Microsoft Access en la Nube. ¿Es posible?

Shares

Usar bases de datos Microsoft Access está suponiendo un problema para todas las empresas que quieren usar un almacenamiento de archivos en la Nube.

Muchas empresas y profesionales basan parte de su organización y operativa en Access. Se trata de archivos que han venido manteniendo durante años y que han ido adaptando a sus necesidades de gestión.

Sin duda podemos decir que esta herramienta ha sido uno de los mejores productos de Microsoft de todos los tiempos. ¿Podrán seguir usando esta fantástica herramienta en la Nube?

Muchos ya han desistido. Durante años han estado compartiendo sus ficheros Access en la red de la empresa. Ahora parece que tener esos archivos en la Nube supone un problema porque los usuarios ya no se pueden conectar a la base de datos y trabajar directamente sin que se produzcan conflictos o sobrescrituras del fichero.

Por qué no funciona Access en la Nube

Decir que no funciona sin matices no es cierto.

Si que hay formas que permiten su uso en la Nube pero no son las que el usuario espera.

Todo el mundo espera subir el fichero de Access a la Nube y usarlo de la misma forma en que lo hecho durante los últimos años.

Si el archivo está compartido, los usuarios esperan poder abrirlo , guardar sus cambios y que la base de datos se actualice con los cambios.

Las bases de datos Access están diseñadas para trabajar en las redes locales, en las redes internas de las empresas. Funcionan en entornos LAN (Local Area Network).

La red interna de la empresa usa un protocolo SMB ( Server Message Block ) que permite compartir archivos o impresoras. No importa que estemos conectados por cable o por Wifi, este protocolo no tiene nada que ver con Internet.

Access no puede funcionar en Internet de la misma forma en que se comparte en una carpeta de la red interna de la empresa. Ninguna plataforma de almacenamiento en la Nube funciona igual que la red de la empresa.

A efectos prácticos, compartir una carpeta en una red interna proporciona un acceso directo al archivo como si estuviera en tu disco duro, es casi equivalente. Esto no ocurre sobre Internet, los protocolos de comunicación internos de una red son muy diferentes.

Primer intento. Usar un sincronizador como Dropbox o Drive

Obviando todos los problemas de seguridad, protección de datos o de que sea una solución adecuada para empresas. Muchos prueban lo que conocen. Intentan manejar Access con los populares sincronizadores como Dropbox o Drive.

Si se prueba de forma particular, un solo usuario, aparentemente funcionará. Se abre el fichero se hacen cambios y se subirá a la Nube.

En cuanto se comparte con otro usuario, pues aparecen los problemas propios de los sincronizadores. Se producen conflictos de archivo o copias en conflicto.

Los cambios realizados en Access nunca se guardarán sobre el propio fichero y producirán un conflicto en los siguientes casos:

  • Cuando dos o más usuarios hagan cambios a la vez.
  • Si se hacen modificaciones sin conexión y otro usuario ha trabajado con el archivo.
  • Si simplemente el archivo está abierto en el ordenador de otro usuario. Cualquier cambio introducido por los demás provocará esta situación.

En cualquier caso, este experimento de probar Access en un sincronizador, no lo vemos como tiempo desperdiciado, se aprende a que la sincronización no es para entornos con varios usuarios.

Puede que alguien te recomiende separar las tablas de Access y poner esta parte como compartida en el sincronizador. Inicialmente parecerá que funciona pero llegará el momento en que pierdas registros y se produzca el conflicto.

Conclusión: Los sincronizadores como Dropbox, Drive no sirven para tener una base de datos Access compartida con varios usuarios.

Aquí os dejamos enlace en inglés de respuesta de Dropbox a esta cuestión: Dropbox. Sharing Access Database

Posibles soluciones para compartir Access en la Nube

[1] Usar Dataprius

Dataprius no es un sincronizador, es un sistema multi-usuario, como tal no generará conflictos de archivos. La cuestión es que no permitirá que dos personas al mismo tiempo editen la base de datos.

Si un usuario abre el archivo de base de datos y está en uso por parte de otra persona, se muestra la típica ventana de que el archivo está en uso.

Ventana dataprius de archivo en uso.
Ventana Dataprius de archivo en uso.

[2] Usar Dataprius con MapDrive

Cuando se monta una unidad mapeada MapDrive, esta funcionará igual que una carpeta de red compartida sobre la red interna de la empresa, es SMB.

Guardar base de datos Access en MapDrive.
Guardar Access en MapDrive

Antes explicamos que las bases de datos Access estaban diseñadas para múltiples usuarios que se conectan en la red local y que por eso no funcionaban en Internet. Pero esto es otra cosa, funciona sobre Internet pero es como si estuviera en nuestra LAN.

Pero ojo, no todo es color de rosas, aquí podemos tener un problema de velocidad. Con archivos pequeños y una muy buena conexión a Internet esta puede ser una solución magnífica. Es cuestión de probar y los chicos de Dataprius podrán ayudarte a comprobar si es la solución definitiva.

[3] Montar una VPN

Una VPN (Virtual Private Network) o red privada virtual es una solución que permite extender la red local. Es una solución costosa en cuanto a su implantación y los medios necesarios.

Mencionamos esta posible solución porque podría ser sugerida por algunos y debemos incluirla para que el artículo sea completo.

Una unidad mapeada de Dataprius no requerirá de instalaciones ni configuraciones, las comunicaciones con la Nube están cifradas de igual forma que en la VPN. La unidad mapeada proporciona la misma funcionalidad que una carpeta compartida con VPN.

VPN. Virtual Private Network

Al final el problema podría ser el mismo. Hay que disponer de una muy buena conexión a Internet, la lentitud de Access al actualizarse puede hacer que estas soluciones no sean viables.

Agunos proveedores Cloud proporcionan servicios de conexión VPN. Como es una solución compleja tan solo dejamos este enlace que muestra como montar un VPN con Azure: Creación de una conexión de sitio a sitio mediante Azure Portal

[4] Un servidor Windows en la Nube

Se trata de montar un servidor Windows en Cloud.

Por temas de seguridad nunca vamos a recomendar que esto se haga con un servidor local de la empresa ni con un NAS.

Abrir servidores locales para permitir conexiones desde Internet es una temeridad y puede tener consecuencias catastróficas para la empresa, es cuestión de tiempo. Solo las grandes empresas que cuentan con un personal de seguridad permanente pueden atreverse, no sin exposición y riesgos continuos.

Servidor y equipos de usuario
Servidores Internet. Separarlos de red local.

Dicho lo anterior. Ha de montarse un servidor en un proveedor que cuide de la seguridad del servidor por nosotros.

La idea entonces, es que podemos contratar un servidor Windows en la Nube para tener acceso a los ficheros de Access de varias formas. Hay proveedores que cumplen RGPD y dónde contratar un servidor Windows:

Fundamentalmente se tienen dos opciones.

  • Montar un VPN para acceder a una carpeta compartida con Access.
  • Habilitar sesiones remotas para que los usuarios se conecten.

Lo más utilizado son los escritorios remotos. Facilitamos este enlace de Clouding.io dónde explican como conectarse: Conectarte a un Servidor Windows por Escritorio Remoto

[5] Usando Servicio Sharepoint

Sharepoint es un sistema de Microsoft que permite usar documentos de Office en la Nube y otras funcionalidades de empresa. Por supuesto se tiene la posibilidad de compartir bases de datos Access aunque hay que realizar ciertas transformaciones, no es un uso directo.

Logotipo de Sharepoint

En la actualidad hay dos formas de tener un servidor Sharepoint en la empresa.

  • Comprar las licencias e instalarlo en un servidor Windows que ya se tiene.
  • Contratar el servicio SAS que Microsoft ofrece ya en la Nube.

Aquí está el enlace con los precios: Opciones de Sharepoint Online

Como compartir bases de datos Access: Crear base de datos Access para compartir en la Web

Muchos opinamos que Sharepoint es complejo y costoso : Embarcarse en SharePoint o la sencillez de Dataprius . Por supuesto, hay muchas empresas que lo usan.

[6] Vincular base de datos a tablas en SQL Server

Esta solución consiste en mantener los formularios de Access y que las tablas se almacenen en SQL Server.

Hay que migrar las tablas a SQL Server y luego vincularlas. Suele ser un proceso sencillo porque Access es compatible con SQL Server.

Ventana de Access con tablas vinculadas a SQL Server
Aspecto de tablas vinculadas a SQL Server

En cuanto al servidor SQL hay dos opciones:

  • Contratar un servidor Windows en Cloud con SQL Server
  • Contratar Servidor SQL en Azure.

Usando el servicio que proporciona Microsoft Azure te liberas de todo el mantenimiento y de los temas de seguridad de un servidor Windows. El inconveniente puede ser el precio. Una base de datos única sale desde 200$ al mes aproximadamente.

Esta es sin duda una de las soluciones más potentes y viables.

Con esta solución se produce un salto cualitativo muy importante. La base de datos ahora soportará miles de conexiones y ofrecerá un alto rendimiento. Se podrá ampliar y se dispone de un mantenimiento y posibilidades dignos de las grandes empresas.

En Resumen:

Las bases de datos Access pueden conectarse a distintos orígenes de datos, no están limitadas tan solo a sus propias tablas. Se procede a migrar las tablas a SQL Server y vincular estas tablas en Access.

Los siguientes enlaces describen como se hace esto:

[7] Vincular base de datos a tablas en MySQL

Esta es una solución muy parecida a la anterior. La ventaja es que es más económica y versátil. Habrá que contratar un servicio de base de datos en la Nube como el de Azure o un hosting de servidor dónde instalar ese MySQL, preferiblemente un servidor Linux.

Vincular Access a MySQL Server
Vincular Access a MySQL

Se obtendrá un muy alto rendimiento y prestaciones, casi sin límites de usuarios y conexiones. Además, si la base de datos está en MySQL se han establecido las bases para futuras ampliaciones o desarrollos. Podemos decir que se ha realizado un importante paso de estandarización. Con MySQL se podrán montar aplicaciones mucho más fácil, por ejemplo con PHP que es uno de los lenguajes de servidor más usados del mundo.

Para vincular tablas de MySQL en Access hará falta un elemento intermedio, un conector ODBC. Este conector permitirá tener las tablas de MySQL vinculadas en Access como si de propias tablas se tratara.

Por supuesto antes de vincular las tablas hay que migrarlas a MySQL.

Los siguientes enlaces sirven de guía para esto:

[9] Encargar una aplicación a medida

Puede que lo mejor, al final, sea encargar una aplicación basada en el modelo de gestión de la vieja base de datos Access.

Construir aplicación

Tomando en cuenta la dinámica de la base de datos una empresa de desarrollo puede construir una aplicación que cumpla con las expectativas y que esté por fin en la Nube.

Esto no es tan raro. Las empresas se encuentran con la necesidad de tener sus bases de datos en la Nube tras crecer en su modelo de negocio. Al final todas esas hojas de Excel y las bases de datos terminarán convirtiéndose en aplicaciones o creciendo hacia aplicaciones más integradas en la Nube.

Para el que tenga nociones de programación existe esta herramienta que permite integrar Access directamente y en Cloud: ScriptCase

Otras soluciones

Navegando hemos encontrado empresas que ofrecen otro tipo de soluciones para tener Access en la Nube. Casi siempre se trata de sistemas que convierten las tablas en un sistema propio sobre el que funciona una aplicación con formularios.

La mayoría de estas plataformas las ofrecen empresas de los Estados Unidos. Si las bases de datos contienen información sensible o datos personales se incumple el Reglamento General de protección de Datos RGPD.

Shares

42 comentarios

  1. He probado manejar bases de datos Access con Dataprius y va bien. Siempre y cuando no haya que trabajar más personas a la vez con ella claro.

  2. Muchas gracias. Describieron muchas soluciones para usar una base de datos access en la nube. Iré probando a ver cual me va mejor.

  3. Miraré esas diferentes soluciones para usar Access desde la nube.
    También plantear una migración de Access a MySQL. ¿Alguna sugerencia?

    • Natalia tu podras migrar los datos a SQL SERVER EXPRESS. Lo primero que tienes que hacer es descargar la ultima versión de SQL SERVER EXPRESS. y la instalas. Después baja SQL Server Migration Assistant para Access e inicias la migración de las tablas. Una vez migradas tus tablas a sql server express podras vincular estas tablas en tu aplicación de Access. Hay que tener presente que si no se crean las relaciones entre las tablas tu debes de crearlas nuevamente en sql server express para lo cual recomiendo que descargues el sql server express completo el cual tiene el SQL Server Management Studio (SSMS) que te permitirá manejar tus bases de datos y hacerles el mantenimiento de forma sencilla. Ya estando aquí puedes subir tu base sql server express a un hosting compatible con sql server express cuyo costo es muy bajo.

  4. Estoy probando usar access vinculado a una base mysql en la nube y noto mucha lentitud en cargar las tablas y p al tratar de hacer una búsqueda se cuelga sin solución. Alguien sabe si se puede solucionar el problema de velocidad ya que en la base mysql Local no hay mayores problemas

    • Hola depende mucho de la velocidad de la conexión y de la latencia del MySQL. Prueba con Azure MySQL, hay ofertas de prueba gratuitas por un tiempo.
      Saludos!

    • Tengo el mismo problema tuyo, es demasiado lenta la conexción, probe con varios proveedores de internet y el resultado es el mismo, muy lento vincularlos a sql server en un servidor en asure y luego usar access como administrador

  5. Yo he hecho muchas aplicaciones híbridas con el Access (la aplicación en Access local y la base de datos en un servidor en la nube, con SQL Server o MySQL) y funcionan perfecto en ambiente cliente servidor multiusuario. He desarrollado aplicaciones que utilizan 20 usuarios al mismo tiempo y sin problema. Solo hay que vincular las tablas de la base de datos a la aplicación y listo, solo habrá que modificar algunas líneas de código en muy pocos casos.

    • ARON, Como esta, usted podria enseñarme como hacer una conexion de base local de acces y mysql en un servidor, quiero aprender y poner a funcionar una base de datos. muchas gracias

      ARON, Como esta, usted podria enseñarme como hacer una conexion de base local de acces y mysql en un servidor, quiero aprender y poner a funcionar una base de datos. muchas gracias

    • quiero contratar el servicio de dataprius y subir una base de datos basada 100% en access, puedes asesorarme? cual seria el costo?

      • Hola, los precios de las cuentas Dataprius están aquí (en el siguiente enlace), no van por tramos, van por espacio y número de usuarios:
        https://dataprius.com/precios-almacenamiento-trabajo-cloud
        Si dedesa probar MapDrive para esto, puede descargarlo desde la misma página de descargas, hay un enlace a MapDrive. El propio MapDrive le indica precios en la aplicación.
        Saludos cordiales y muchas gracias por su interés en nuestra plataforma.

  6. Muy buen artículo! Tenía las mismas dudas que plantean ya que con el teletrabajo mi base de datos la he tenido que mover muchas veces al PC de la casa y estoy perdiendo el orden de los archivos ya jajaja…

    En todo caso mi BD es sencilla, existirá algún programa alternativo que funcione en la nube 100% para probar si se puede crear las mismas tablas y consultas?

    • Hola Esteban, gracias por comentar.
      Con la pregunta que haces has dado en el clavo. La planteo de otra forma: ¿Hay alguna forma de tener lo mismo que proporciona Access pero en la Nube? La respuesta es que actualmente no y si surge algo será un poco diferente aunque debe ser fácil de asumir para los que llevan años trabajando con Access. Nosotros mismos hemos estudiado la posibilidad, requeriría un gran esfuerzo de programación y recursos pero tendría un amplio mercado a nivel mundial, está claro que podría sentar un nuevo estándard tal y como lo ha sido Access durante muchos años.
      Saludos cordiales.

  7. Al migrar la BD a Sql Server ¿Da lo mismo la versión de Access que tenga el usuario?… Tengo usuarios que van desde Accesos 2007 en adelante (pasando por todas las futuras versiones)

    • Hola, la migración es hacia las tablas de SQL. Las diferentes versiones de Access modifican funcionalidades, entorno gráfico y herramientas, no el almacenamiento en las tablas. No debe haber ningún problema. De hecho cualquier herramienta de migración te permite decidir que tipo de datos guardar en caso de conflicto.
      Saludos.

  8. Hola, he leído con detenimiento el artículo y quedo muy interesado en conocer cómo funciona dataprius y su coste.

    Como aficionado diseñé en mi empresa una aplicación con Access que al final convertí en multiempresa, dividiendo la aplicación y teniendo los datos de cada empresa alojados en un fichero access diferente. Mediante vinculaciones y revinculaciones puedo pasar de una empresa a otra sin dificultad, pero siempre trabajando en local o entornos LAN, sin preocuparme mucho el asunto de los bloqueos porque no es una aplicación para que la usen muchos usuarios, y la mayoría sólo pueden entrar en modo consultar, sin escribir sobre la BBDD.pos que se
    Poco a poco vamos entrando en el mundo sharepoint dentro de nuestra empresa, con usuarios de fuera de la organización que con los permisos adecuados pueden participar t de los documentos de los distintos grupos que se van creando. He intentado aprovechar la potencia de esto para que esos usuarios externos puedan acceder a la aplicación, pero hasta ahora me he estrellado, tanto poniendo front y backends en ese entorno como poniendo sólo los backends.
    Me gustaría saber, primero, si es posible hacer lo que pretendo con mis medios habituales, y segundo, que me informéis de como solucionaría mis problemas con la aplicación de la que habláis.
    Gracias por atenderme. Espero vuestras noticias

    Marcelo

    • Hola Sixto,
      Si las bases de datos no necesitan acceso simultáneo pues solo basta subirlas a dataprius y hacer doble click para editar como cualquier otro archivo.
      Existen otras soluciones como usar MapDrive (otro producto de dataprius) requiere que la conexión sea potente. Además estamos incorporando en los últimos tiempos terminales remotos a algunos clientes.
      Puedes contactar con nosotros de forma más directa a través de la sessión “Contacto” en nuestra web: https://dataprius.com
      Saludos cordiales.

  9. Resumiendo, parece que para poder usar Access en línea en modo teletrabajo va bien la solución en la nube Dataprius siempre y cuando no haga falta trabajar varias personas a la vez. Y para ese caso, estaría la unidad mapeada Mapdrive.

  10. Hola me gustaría saber si puedo vincular access con BigQuery, y si necesito algo para hacerlo espero puedan ayudarme.

  11. Hola, somos una empresa pequeña con 3 tiendas y la información de las ventas de las 3 tiendas la consolidamos en un archivo en Excel que está en OneDrive. Conforme el volumen se incrementa, la concurrencia de usuarios nos ha generado algunos problemas de actualización por lo que pensaba migrar la base a Access en la misma nube, pero veo que no es posible. ¿Qué me pueden sugerir? Muchas gracias.

  12. Hola.
    Quisiera poner en la nube algunos programas Access con VBA para que los usuarios puedan usarlo como si estuviese en su desktop.
    Se trata de varios programas (alrededor de 150 que suman aproximativamente 120,000 líneas de código) conectados entre ellos.
    ¿Alguien me puede aconsejar?
    Gracias.

  13. Estupendo, estupendo artículo, Francisco. Y estupendo debate el que ha ido generando. El artículo tiene ya unos años pero sigue perfectamente vigente.
    Por aportar una solución más. Que no he probado.
    Google ha dejado de lado su anterior plataforma de desarrollo Google App Maker y en su lugar ha adquirido lo que espera sea su futuro en este campo: AppSheet.
    https://www.genbeta.com/desarrollo/google-cerrara-app-maker-su-herramienta-para-escribir-aplicaciones-escribir-codigo-cuenta-alternativa

    Creo que podría ser una alternativa muy interesante para todas esas organizaciones que optan por Google Workspace como su Cloud Office Suite y que tienen algunas Access por ahí rondando.

    Saludos

  14. Hola. que solución recomendaría para la carga de datos sin conexión, en caso de no tener internet, y luego subir los datos cargados al momento de conectarse nuevamente a internet? Gracias

    • Hola Leonardo, en cuanto a Access no existe nada similar. Si varias personas trabajan sin conexión y luego se conectan debería haber un mecanismo de conciliación de todas las tablas y datos, eso no existe.
      Saludos.

  15. Trabajar con Access en la nube desde cualquier lugar entonces sí es posible si se usa una unidad mapeada en la nube entonces…. Interesante!!!

  16. Claro, es comprensible que no se pueda modificar una base de datos Access (o lo que sea) que está en una nube accesible a más de una persona; la integridad del archivo estaría en serio peligro.
    Pero ¿y si lo que yo quiero es que se pueda sólo consultar, sin modificar, y no desde Microsoft Access, sino desde una aplicación hecha, digamos en C# o VB, o sea, con un .exe que cada posible usuario tiene en su PC, laptop o lo que sea? ¿ Es esto posible?
    Gracias.

    • Hola Eloisa, gracias por comentar.
      Cuando ya hablamos de programación las cosas cambian radicalmente. La mejor forma de tener esa base de datos en la Nube es transformarla en una base de datos de verdad con servidor (SQL Server, MySQL), entonces las aplicaciones se conectan mediante una API propia, todos los grandes servicios que conoces del mundo están hechos así.
      Saludos.

  17. Tras probar la unidad mapeada en la nube lo considero super útil para estas cosas de Access, ahora dos compañeros pueden teletrabajar manejando la Base de datos Access, cosa que antes teníamos que ir mandándola por correo. !!!

  18. Pensaba que poder trabajar con bases de datos Access en la nube era imposible, pero ya veo que no es así. Lo he probado y funciona!!

    • Sí, incluso podemos abrir y trabajar en la misma base de datos access 3 a las vez sin problemas. Antes teníamos que espera a que uno cerrara la bd.

      • Buenos días Luisa,

        Estoy interesado en correr Acces en la nube y no sé cómo hacerlo, ¿Puedes indicarme cuál de los métodos explicados en la página has utilizado? gracias.

  19. Hola y muy buenas a todos, mira es mitad de 2023 y encuentro esta soberana sorpresa!! exceleente articulo que me ha servido de mucho dado a que encontre la forma de tabajar con Access y Ardruino para monitorear mis cultivos de peces (Ph , alcalinidad, oxigeno disuelto, temperatura, etc ) como decimos a qui en Colombia, pegándole a una Bd Access y esta solucion me perece fantastica. Gracias por semejante aporte.

    • Podes comentar si estas usando Dataprius y MapDrive para conectarte a Access, y como utilizas Arduino ? si es como interfase a los sensores para el cultivo, gracias y un saludo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *