Alemán   Chino - Simplificado   Español   Francés   Holandés   Inglés (Estados Unidos)   Portugués - Ibérico  

Home




How to Split a Replicated Access 97 Database (Spanish)

¿Cómo Dividir una Base de Datos de Access 97 Replicada?

Por Jeffrey Streutker, MCSE

Aquellos que son desarrolladores inexpertos de bases de datos de Access, por lo regular no saben de los cambios de replicación a el diseño de objetos distintos a las tablas de datos que se saben causan problemas. Esto es muy deesalentador ya que a primera vista parece que la replicación es la mejor manera de distribuir una completa aplicación de Access, y después de todo, Microsoft la soporta.

El problema es que la replicación Jet fue diseñada únicamente con tablas de datos en mente. Esto es debido a que la replicación Jet fue hecha principalemente para aplicaciones en Visual Basic donde solo los datos serían guardados en un archivo *.mdb. Esto fue donde fue probado la mayoría de las veces. A lo que a Access 97 concierne, siempre fue entendido que un buen desarrollador tendría ya dividida la base de datos antes de convertirla a una réplica para que solo las bases de datos fueran replicadas. Para una introducción en el concepto de dividir una base de datos de Access, ve Capítulo 15, Sección 3, del documento"Construyendo Aplicaciones en Microsoft Access 97" que viene en el CD de Access 97 CD.

Sin dividir una base de datos antes de ser replicada, encontrarás que tus réplicas se "hincharán" en tamaño. Esto es debido a que cada cambio que hagas a una forma ó módulo, por ejemplo, se pone en una tabla escondida, y eso se convierte en información que necesita ser replicada. Imagínate por un momento que haces 30 intentos para hacer que un módulo de código trabaje correctamente. Cada uno de estos cambios (todos excepto el último son innecesarios) se mandan a todas las réplicas. En práctica, los desarrolladores que se les olvida dividir antes de replicar, experimentan problemas muy enfadosos: después de un tiempo (a lo mejor hasta meses) de trabajar en replicación correctamente, repentinamente falla un módulo, ó una forma ya no se puede abrir.

Así es que ¿Puedes dividir una base de datos que ya halla sido replicada? Aquí te suguiero los siguientes pasos para ayudarte.

  1. No utilices el Mago de Dividir Base de Datos (Split Database Wizard). Esto es porque divide la base de datos precisamente de la manera incorrecta para que tus tablas de datos ya no se puedan replicar – esto mueve la tabla a un nuevo archivo y mantiene el resto de los objetos con la réplica. En lugar de eso, lo que necesitamos hacer es mantener las tablas de datos con la réplica, y mover todos los demás objetos a un nuevo y sin replicar archivo de base de datos. Es por eso que la parte de atrás permanece replicable como parte del conjunto de la réplica actual, y la parte de enfrente es ahora una base de datos sola, la cual puede ser fácilmente copiada a cada usuario de aplicación.
  2. Asegúrate de tener todas tus réplicas sincronizadas para que sepas que tienes toda tu información actualizada, solo en caso de que se corrompa el Maestro de Diseño (Design Master).
  3. Crea un nuevo archivo de base de datos de Access, el cual será el principio. Siguiendo el ejemplo de Microsoft, puedes añadir "_fe" al nombre original de la base de datos, aunque en realidad no importa como le llames.
  4. Teniendo este archivo abierto, importa todos los queries, formas, reportes, macros y módulos del Maestro de Diseño. Si tienes un tablero de switcheo (switchboard), el cual generaste con tu Manejador de tablero de switcheo (Switchboard Manager), entonces también necesitas importar los artículos de la tabla del tablero de switcheo (Switchboard).
  5. Crea enlaces a las tablas del Maestro de Diseño.
  6. Si ya implementaste seguridad de base de datos, entonces habrás perdido las especificaciones ya puestas en todos los objetos que importaste o enlazaste en los pasos 4 y 5. Por lo tanto, abre el Maestro de Diseño y copia estas especificaciones de permisos al nuevo archivo (por ejemplo, el principio).
  7. Ahora necesitas agregar código al principio, que refresque ó actualice los enlaces a la réplica local de usario. Encontrarás ayuda para hacer esto en la base de datos de Soluciones de Desarrollador (Developer Solutions), la cual viene como base de datos ejemplo con Access 97. Selecciona "Enlaza tablas a inicio" ("Link tables at startup") de la categoría de "Usar Múltiples Bases de Datos" ("Use Multiple Databases").
  8. Distribuye el inicio a todos tus usuarios. Recuerda que este archivo nunca debe de replicado. Simplemente has copias para cualquiera que lo necesite. Diles a tus usarios que se cambien a usar el principio. Cuando te asegures de que están usando el principio, entonces puedes convertir el Maestro de Diesño al final (los siguientes dos pasos) para que así la siguiente vez que se sincronicen, sus réplicas también se conviertan en finales.
  9. Abre el Maestro de Diseño, y borra todos los objetos que importaste en el paso 4.
  10. Compacta el Maestro de Diseño dos veces, luego sincronízalo con todas las demás réplicas.

Nota: Si quieres seguir la misma exacta convención de nombres que usa Microsoft en su Mago de Dividir Dases de Datos (Split Database Wizard), entonces tendráas que renombrar tu réplica final agregándole "_be" al nombre del archivo. La manera más segura de hacer esto es con el Manejador de Replicación (Replication Manager) con el comando de Mover Réplica (Move Replica).

Jeffrey Streutker es un Manejador IT para una compañía de controles HVAC (Calefacción, Ventilación y Aire Acondicionado; siglas en Inglés -Heating, Ventilation, and Air Conditioning) en el area de Toronto. El es un perito en tecnología de electrónica que también ha estudiado ciencias de la computación y matemáticas en la Universidad de Waterloo, Canadá, y ha hecho periódicamente trabajos de programación en distintos idiomas desde 1985. su proyecto actual es convertir un extenso sistema de base de datos basada en Lotus Notes a Access 97, incluyendo replicación, para poder dar soporte a los técnicos en el campo con bases de datos de rastreo de servicios y generación de órdenes de compra, así como libro maestro de direcciones con soporte cliente/servidor de fax.

Regresar a Recursos