MS Access Linux

Felipe kelt3we en gmail.com
Dom Mayo 16 13:12:35 CLT 2010


On 05/15/2010 11:54 PM, Fanatico Linux wrote:
> Hola a todos.
>    una ayudita porfa, aunque no es urgente, es solo algo que se me ocurrio
> en la oficina. les cuento.
> hay una aplicacion bastante ordinaria, pero que se usa mucho en la
> oficina, y esta programada en visual basic, con su motor que es un Access
> (97).
> el tema es que la base de datos tiene clave (que ya todos la sabemos, lo
> menciono solo por si es relevante. no se le puede quitar la clave, ya que
> la aplicacion la tiene registrada dentro de su codigo).
> ademas, tiene relaciones creadas a traves del mismo access
>
> la cosa es que la base de datos esta en un computador con windows, el cual
> la comparte por medio de una carpeta compartida (cero seguridad.
> compartida y ya). los usuarios de la aplicacion tienen ahi instalado el
> ejecutable de la aplicacion, y un archivo .ini que indica donde esta el
> archivo MDB (algo asi como:  "BD=\\192.18.0.10\sistema01\basedatos.mdb"
>
> uffff. ahora si mi consulta (sorry por tanta palabreria, pero intente ser
> lo mas claro y transparente en mi consulta, =) )
>   intente poner el mdb en un linux, y que funcionaba con samba, para que
> por ultimo, solo los usuarios con cuenta en el servidor pudiesen entrar o
> ver la carpeta del mdb. pero en algunos procesos se cae el sistema. segun
> yo, debe ser cuando el motor trata de buscar las relaciones o algo asi.
> ¿alguien sabe si se puede hacer algo para que funcione 100% bien ese .MDB
> en un linux, o esta destinado a morir en un windows?
>
> saludos a todos
> Mauricio Araya
> Entusiasta Linux
>    

Hola,

Voy a empezar mencionando que es posible restringir el acceso a la 
carpeta compartida a determinados usuarios/grupos de usuarios en Windows 
(pestaña seguridad en las propiedades de la carpeta). Se puede lograr 
algo equivalente en Linux con Samba. Luego, puedes verificar que el 
archivo este apropiadamente compartido tratando de bajarlo con las 
credenciales apropiadas.

Sobre el problema de la aplicación: el usar una base de datos Access a 
través de una carpeta de red o tener múltiples clientes 
leyendo/escribiendo concurrentemente desde/hacia el mismo archivo .mdb 
puede no ser la mejor idea. El usar un DBMS simple que permita 
conexiones remotas (como MySQL) sería un buen reemplazo para Access en 
este caso, pero requiere realizar cambios en la aplicación tales como 
reescribir la capa de acceso a datos y las consultas.

Si la aplicación es un mantenedor, podrían reimplementarla sobre Glom, 
lo cual es bastante rápido en la mayoría de los casos: http://www.glom.org

Saludos cordiales,
Felipe


Más información sobre la lista de distribución Linux