BandaAncha.eu

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

Acceso concurrente a una base de datos Access .mdb

TaJiNaSTe

Necesito acceso concurrente a una base de datos *.mdb por varios usuarios dentro de un mismo dominio EN MODO ESCRITURA. ¿Esto es posible de alguna forma?

En principio, no quiero portarla a SQL si puedo evitarlo.

Rikkjaard

Hola,

Ya sabrás que Access no te permite por ejemplo que dos usuarios escriban a la vez en una misma tabla.

Yo no tengo mucha idea, pero en alguna ocasión lo que hemos hecho ha sido crear otras bases de datos en access que tuvieran acceso a la base de datos principal utilizando el administrador de tablas vinculadas. De esta manera cada usuario, teniendo una BD en local vinculada a la principal (en un recurso de red), puede atacar a la misma base de datos.

Es una opción que me ha funcionado, pero vamos, no tengo mucha idea... :-P

Suerte

🗨️ 1
TaJiNaSTe

Es que mirando la ayuda encuentro lo siguiente:

En un entorno multiusuario, más de una persona puede estar trabajando al mismo tiempo con los mismos registros

Al parecer, hay que poner la BD en modo compartido. Con eso bastaría y el método más fácil es ponerla directamente en el servidor para que accedan los demás en red.

En el caso que yo hablo, que no lo he explicado, es posible que varios usuarios ataquen la misma tabla pero NUNCA el mismo registro con lo que si Access permite medianamente esta opción (según la Ayuda, Si su equipo está conectado a una red, usted y los demás usuarios podrán trabajar con una base de datos de Microsoft Access al mismo tiempo), no parece que tuviera mayor problema.

KATOR

Puedes hacerlo perfectamente colocando la base de datos en una unidad de red del servidor.

Cualquier usuario de la red puede utilizar esa base de datos.

Yo tengo así cinco.

Chao.

Edito.: Efectivamente como dices si un usuario este utilizando, modificando o visualizando un registro, la base te dira que ese registro esta bloqueado por otro usuario.

🗨️ 3
TaJiNaSTe

Ok, o sea que sin tocar el mismo registro sin problemas, ¿no? :-)

Cojonudo, lo que hay que hacer es ponerla en modo compartida y eso lo hace de manera predeterminada, ¿verdad?. Sólo tendría que elegir en las opciones avanzadas el bloqueo de registro modificado. Y listo, todos pueden usar la misma tabla de la BD.

¿O no? ;-)

🗨️ 2
KATOR

Tu lo has dicho.

Chao.

🗨️ 1
TaJiNaSTe

Ok :)

JoeDalton

Bueno, yo lo he hecho siempre por el método tradicional:

- Abres la bbdd y la bloqueas, se genera un archivo .ldb
- Copias ese archivo a otra ubicación.
- Cierras la bbdd.
- Vuelves a dejar el archivo .ldb que copiaste a la ubicación original.
- Y con eso ya está para varios usuarios.

Te recomiendo que la bbdd contenga solo la bbdd y no los formularios (las bbdd de access tienen la particularidad de cascar con una facilidad pasmosa, y si tienes aplicación+bbdd en el mismo mdb, es algo más problemático aún).

Incluso te diría, si puedes usar un MSDE, te ahorrarás problemas.

🗨️ 1
TaJiNaSTe

La vamos a pasar a SQL en unos meses con un visor hecho con .NET pero, mientras, sería necesario que varias personas usaran una tabla en concreto pero nunca el mismo registro.

Se podría exportar a SQL desde Access, instalar SQL Express Edition para ahorrar licencias y tras instalar el ODBC en cada puesto, estaríamos seguro que la cosa tiraría bien :-)

Pero... Querría ahorrarme ese punto. Por lo que veo en la ayuda de Access, no hace falta ningún "método tradicional" sino abrirla, ponerle el bloqueo de registro y listo, ná más. Otro debería poder abrir esa misma BD y usar la tabla.

¿O no?. Mañana lo probaré y si no, seguiré estos cinco pasos que me has dicho.

Thx :)

KATOR

Hola Tajinaste, el tema del visor .NET, para migrarla a SQL, me interesaria mucho, tengo una de las bases con 250 megas, y cada dos por tres tengo que sacudirle con el JET.

Si ello es posible, y si lo crées oportuno pasame por favor algún apunte de como lo habeis hecho, sobre todo para que las relaciones no se pierdan, a mi correo.

Chao.