Twitter Flickr Pinterest LinkedIn YouTube Google Maps E-mail RSS
formats

Técnicas y escenarios para compartir una base de datos Microsoft Access

Publicado en 24 febrero, 2017, por en Access.

En esta entrada voy a intentar mostraros las diversas formas con las que podemos trabajar con una base de datos Microsoft Access, para ser usada en red y compartida con los demás.

Una base de datos Microsoft Access permite disponer de formularios, informes, consultas, macros, módulos de programación y tablas en un sólo archivo. Es por eso, que no es considerado un motor de bases de datos relacional puro, en muchas ocasiones, y no sin razón, tratada como base de datos de juguete.

La verdad es que existen diversos gestores de base de datos relacionales puros bastante potentes que ofrecen todo lo que uno puede necesitar, pero Microsoft Access tiene su hueco en el mercado, es así,  y se comporta realmente bien para determinados escenarios y usos. Admite concurrencia y uso compartido, versatilidad a la hora de trabajar con datos, sobre todo cuando no existen muchos usuarios conectados a la base. Posee una interfaz unificada y simple de uso, y un propio entorno de desarrollo que facilita la programación de aplicaciones.

Os mostraré todos los escenarios y fórmulas posibles, al menos que yo conozca para trabajar con la base de datos en red, bien en una red local LAN como a través de Internet.

Para poder trabajar con una base de datos .accdb o Access, podemos usar diversas técnicas. Bastante interesantes para empresas y/o particulares. Comencemos…

Compartición de una carpeta local  (LAN) con permisos de lectura y escritura en red.

Corresponde con la forma más tradicional y normal de trabajo. Se produce en entornos de red local, donde el acceso es bastante rápido.

Es necesario compartir una carpeta, bien en un servidor de red, en escenarios con dominios, NAS u otro equipo de la red de trabajo en grupo. Lo interesante es dejar permisos de lectura y escritura para que los diversos usuarios puedan abrir la base de datos desde los diferentes puestos. En cada puesto es necesario disponer de una versión de Access, la cual es altamente aconsejable que sea la misma versión para evitar posibles problemas.

Recuerda que la cuestión de los permisos de usuario no es el punto fuerte de este tipo de base (se pueden establecer, pero de forma diferente a lo que se emplea en otros gestores), por lo que los diferentes usuarios deberán ser responsables del uso y acceso. Este consejo es aplicable para todos los escenarios siguientes. Es recomendable realizar copias de seguridad periódicas de la base de datos (carpeta). También, es preciso establecer la base como compartida en las opciones de Access.

Mediante esta técnica de conexión no empleamos Internet, todos los equipos se encuentran en una intranet.

Técnica de división de frontend y datos.

Similar a la anterior, en casi todo, salvo que ahora vamos a dividir la base de datos. Este mecanismo separa la presentación de los datos (tablas), de forma que se gana en velocidad. Todos los informes, formularios, macros, se encuentran en el fichero accdb y las tablas con los datos son un vínculo compartido en otra base accdb en una carpeta.

Para realizar esto, tendremos que realizar primero una copia de seguridad de la base. Pulsar en herramientas de la base de datos, opción Base de datos Access. Mostrará un asistente parta mover las tablas de la base de datos actual a una nueva base de datos tipo back-end. La gran ventaja es que en entornos multiusuario reduce el tráfico de red y permite la programación frontend sin afectar a los datos o interrumpir a los usuarios.

Se creará una base de datos donde se encuentran las tablas con terminación _be, de back-end. Ubícala en la carpeta compartida, el resto serán diversas bases de datos frontend.

Recuerda una vez dividida, las tablas aparecerán con una flecha que indica que realmente es un vínculo. Podremos cambiar cada ruta si deseamos de esta base, por cada una de las tablas, si así es preciso, por una nueva ubicación. Con el segundo botón del ratón, en administrador de tablas vinculadas.

Una gran posibilidad que podemos tener con Access, es compilar todos los archivos frontend, para que no se pueda manipular su código (ni ver). Este tipo de archivos poseen otra extensión diferente al tipo accdb, con nombre accde. Ver extensiones de archivo.

 

Uso de la base de datos mediante VPN

Este mecanismo emplea una red privada virtual, para acceder a la red/sitio donde se encuentra compartida la carpeta que almacena la base de datos. Es preciso configurar el equipo cliente, con las credenciales de acceso a la red remota. Se emplea el acceso a Internet, pero mediante un túnel cifrado, parecerá que solamente estamos accediendo a la red de trabajo en equipo o dominio de la empresa. Seguramente el servidor VPN será una maquina Windows Server, que nos valide y de acceso a la red con unas credenciales. Os dejo enlace  del pequeño manual que creé para configurar VPN sobre Windows 2008 y alguna que otra cosa mas.

Uso de la base de datos mediante Terminal Server, VNC, Logmein, TeamViewer, Chrome Remote Desktop, etc.

Este escenario no emplea VPN, simplemente nos conectaremos mediante otro protocolo de red usando Internet como canal a una máquina remota. De esta forma, podremos acceder a la base como si estuviéramos realmente en las instalaciones y delante del monitor. Existen diversos programas para poder realizar sesión remota. Los que más uso son Terminal Server y VNC.

Uso de la base de datos mediante compartición en la nube.

Mediante esta técnica, solamente podremos acceder a la base de forma individual, ya que si empleamos un por ejemplo como Dropbox, Onedrive, Google Drive, etc… se sincronizará cualquier cambio que se haga en local con el archivo de Internet, pudiendo crear inconsistencias. El archivo puede ser compartido entre varios usuarios, pero el acceso seria mediante web, no pudiendo ser usado en conjunto. Podemos usar la base remota, pero sincronizando con la copia local.

Uso mediante conexión compartida unidad local-remota en nube o FTP

Mediante esta técnica podremos conectar a unidades remotas como si fuesen unidades locales. Se puede realizar fácilmente por FTP, pero si deseamos usar nuestro espacio en servicios en la nube, tales como Dropbox, Onedrive, Box, Google drive, Hubic, Amazon drive, recomiendo emplear este programa que es gratuito con limitaciones. La versión con licencia no pose limitaciones, y el precio son 49 €. La versión gratuita, es completa durante 30 días, y después tendrás que conectar manualmente, y sólo a una unidad o sitio. En algunos casos suficiente.

Su nombre es NetDrive, y creo que es el mejor para este tipo de cosas.

Dejas la base en una carpeta de los servicios de la nube, por ejemplo Onedrive, luego conectas y la asignas como una unidad. Le indicas que conecte al iniciar sesión, y a funcionar, se creará una unidad como si fuera un disco duro, pero los datos se encuentran en la nube.

Este tipo de utilidad nos ofrece la gran ventaja de no tener que tener copia de los datos en la unidad, ya que la mayoría de los agentes crean copia y aunque están en la nube, ocupan espacio en el disco duro local. Imagina que tienes un disco duro sólido como es mi caso, de 120 Gb, podrías tener problemas si empleas varios servicios, ya que te come el espacio en disco. Gracias a Netdrive, los datos están en la red, como unidades no duplicados ni sincronizados. El inconveniente, es mayor lentitud de acceso a determinados archivos, aunque el programa dispone de una cache.

 

 

Puedes apreciar lo que comento en las opciones del Acerca de de la licencia.

Uno de los problemas que veo con este tipo de conexión, es que bases Accdb  bastante grandes puede ocasionar que el sistema sea lento, tanto para abrir como para cerrar la base, por lo que aconsejo, eliminar la opción de compactar y reparar la base de datos al salir (desde Access), puesto que frena el cierre del programa.

Conexión a un disco duro de un proveedor de Internet.

Es idéntico al anterior escenario, pero ofrecido por un proveedor de servicios de Internet. Algunas compañías de hosting, entre ellas la mía, ofrecen soluciones para tener unidades de red a un precio determinado y una capacidad de almacenamiento.

Compartición mediante Sharepoint

Si disponemos de un servidor Microsoft Sharepoint, podemos compartir los datos de Access con otras personas que usen el sitio de Sharepoint. Hay dos maneras de poder trabajar con una base de datos publicada. Si eres el diseñador de una base de datos, puede crear consultas, formularios e informes que utilicen los datos del sitio de SharePoint. Si es el usuario de una base de datos, puedes utilizar Access para especificar, ver y analizar datos del sitio de SharePoint.

Cuando se publique una base de datos en un sitio de SharePoint por primera vez, Access proporciona una lista de servidores web que facilita la navegación a la ubicación en la que desea realizar la publicación, como una biblioteca de documentos. Después de publicar la base de datos, Access recuerda la ubicación, de modo que no se necesita buscar el servidor nuevamente al publicar algún cambio.

Cuando se publique la base de datos en una biblioteca del sitio de SharePoint, los objetos que se han creado en Access están disponibles para que los utilicen otros en el menú Ver para la lista de SharePoint. Cuando las personas abren las vistas, los objetos de Access están disponibles como sólo lectura.

Cuando las personas trabajan con una base de datos publicada, se les pide que guarden una copia local. Los cambios se almacenan localmente hasta que se publican sus cambios. Este suele acelerar el rendimiento y facilita la recuperación de los datos en el caso de que se produzca un error de red. Cuando realiza cambios a los datos o los objetos, debe volver a publicar la base de datos para que los cambios estén disponibles para las demás personas.

Access proporciona varios botones que le permiten trabajar con facilidad con los datos de las listas de SharePoint, por ejemplo, para crear alertas y modificar las columnas para las listas. Cuando se utilice Access para editar las tablas vinculadas a las listas de SharePoint en una base de datos publicada, los botones están disponibles en el grupo Lista de SharePoint de la ficha Hoja de datos.

La base de datos se hace disponible para las personas con permisos para trabajar con el sitio. Si los usuarios tienen permiso para cambiar las listas en la ubicación en la que ha publicado la base de datos, como una biblioteca de documentos, pueden actualizar la base de datos. Si las personas tienen permiso para colaborar en las listas del sitio de SharePoint, pueden agregar datos a la base de datos. Si las personas tienen permisos para ver las listas, pueden ver los datos de la base de datos.

Uso de la base como frontend y datos en SQL Server u otro gestor.

Podemos vincular los datos de una base Access a otros gestores desde el propio programa. Emplearemos Access como frontend, pero dejaremos los datos en un gestor de bases de datos más potente. Para ello, una vez creada la base de datos en SQL Server, vincularemos la base con Access, mediante un DSN con conectividad ODBC desde el panel de control. Puede sonar chino pero es como se hace, y funciona.

Mediante un proyecto ADP

Este mecanismo era empleado en versiones anteriores al Access, creo que desde la 2013 no se usa, para acceder a una base de datos SQL Server (datos), pero usando como FrontEnd Access. Se uso bastante, ahora reemplazada por los servicios de Sharepoint.

Programáticos

Mediante acceso a través de asp.net o asp tradicional.

Se puede dejar la base de datos en una carpeta oculta a la web, y acceder a los datos mediante programación del lado del servidor ASP.NET y ASP.  ASP tradicional suele ser empleado para acceder a bases de datos mdb, anteriores, es por ello que es necesario convertir la base accdb a mdb. Los informes, formularios, macros no serán accedidos, dejando en manos del lenguaje la lógica de acceso.

Os dejo toda la información para acceder incluso desde otro lenguaje como PHP en esta otra entrada que realicé en su momento.

También os dejo una utilidad para acceder a las bases de datos mdb desde internet.

 

 

 

Etiquetas:,

Una respuesta

  1. Dexter

    Excelente artículo. ¡Y súper completo!

    No sabía que existían tantas opciones para compartir una base Access.

    Muchas gracias por compartirlo.

    Un saludo!


Usted debe ser Registrado para publicar un cometario

Home Access Técnicas y escenarios para compartir una base de datos Microsoft Access
© www.palentino.es, desde el 2012 - Un Blog para compartir conocimientos ...

Uso de cookies en mi sitio palentino.es

Este sitio web utiliza cookies para que tengamos la mejor experiencia de usuario. Si continúas navegando estás dando tu consentimiento para la aceptación de las mencionadas cookies y la aceptación de la política de cookies

ACEPTAR
Aviso de cookies