4D v16

Replicación vía SQL

Inicio

 
4D v16
Replicación vía SQL

Replicación vía SQL  


 

 

4D ofrece un mecanismo que permite replicar o sincronizar los datos de dos o más bases 4D vía SQL. Esta funcionalidad específica se puede utilizar para crear una o más bases espejos, garantizando la disponibilidad permanente de los datos.

El principio es el siguiente: una base de datos objetivo replica en local los datos de una base de datos fuente remota.  Las actualizaciones se llevarán a cabo periódicamente por la base local que recupera los datos de la base remota. La replicación se lleva a cabo a nivel de tabla: usted replica los datos de una tabla de la base remota en una tabla de la base local.
Esto es posible gracias a la utilización de marcadores (stamps) y de comandos SQL específicos.

En el editor de la estructura, una propiedad de tabla permite activar el mecanismo de replicación en la base remota y local. Del lado de la base local, el comando SQL REPLICATE permite recuperar datos de una tabla de la base remota y luego integrar estos datos en una tabla de la base local. El comando SQL SYNCHRONIZE, se utiliza para llevar a cabo la sincronización de las dos tablas.

Cada tabla de la base 4D puede ser asignada con tres campos "virtuales": __ROW_ID, __ROW_STAMP y __ROW_ACTION. Estos campos se llaman "virtuales" para diferenciarlos de los "clásicos" porque tienen propiedades específicas: se llenan automáticamente, puede se leídos pero no modificados por los usuarios y no aparecen en las tablas sistema de la base. La siguiente tabla describe estos campos, así como su modo de uso:

Campo virtualTipoContenidoUso
__ROW_IDInt32ID del registroEn toda instrucción SQL excepto REPLICATE o SYNCHRONIZE
__ROW_STAMPInt64Información de replicación del registroEn toda instrucción SQL
__ROW_ACTIONInt16Tipo de acción efectuada en el registro: 1 = Adición o modificación, 2 = SupresiónÚnicamente con el comando REPLICATE o SYNCHRONIZE

Cuando los mecanismos de replicación están activos, tan pronto como un registro se crea, modifica o elimina, la información correspondiente se actualiza automáticamente en los campos virtuales de este registro.

Por defecto los mecanismos que permiten la replicación no están activos. Debe activarlos explícitamente tanto en la base remota y en la base local para cada tabla utilizada en la replicación o sincronización.

Tenga en cuenta que la activación del mecanismo no activa la replicación, con el fin de que los datos se repliquen en una base local o sincronizada, debe utilizar los comandos REPLICATE o SYNCHRONIZE

Para activar el mecanismo interno de replicación, debe utilizar en cada tabla (en la base remota y local), la propiedad de tabla Activar replicación accesible en el Inspector de tablas:

Nota: para que el mecanismo de replicación pueda funcionar, debe especificar una llave primaria para las tablas implicadas en las bases remota y local. Puede crear esta llave vía el editor de estructura o los comandos de SQL. Si no se ha especificado llave primaria, la opción está en gris.

Cuando esta opción está activa, 4D genera la información necesaria para replicar los registros de la tabla (basada en particular en la llave primaria de la tabla). Esta información se almacena en los campos virtuales __ROW_STAMP y __ROW_ACTION.

Nota: es posible activar y desactivar la generación de información de replicación vía los comandos SQL CREATE TABLE y ALTER TABLE, utilizando las palabras claves ENABLE REPLICATE y DISABLE REPLICATE. Para mayor información, consulte la descripción de estos comandos.

ATENCIÓN: seleccionar esta opción provoca la publicación de la información necesaria por los mecanismos de replicación. Por razones de seguridad, el acceso a esta información debe estar protegido, así como debe estar protegido el acceso a sus datos cuando se publican. Por lo tanto, cuando implemente un sistema de replicación utilizando esta opción, debe asegurarse de:
•    si el servidor SQL se lanza, el acceso está protegido utilizando las contraseñas 4D y/o los esquemas SQL (ver Configuración del servidor SQL de 4D),
•    si el servidor HTTP se lanza, el acceso está protegido utilizando las contraseñas 4D y/o los esquemas SQL (ver Configuración del servidor SQL de 4D) y/o del y/o de la definición de una estructura virtual vía los comandos SET TABLE TITLES y SET FIELD TITLES. Para mayor información, consulte el párrafo "URL 4DSYNC/" en la sección MissingRef.

Una vez que el mecanismo de replicación está activo en cada tabla de cada base, puede utilizarlo desde la base local vía el comando SQL REPLICATE. Para mayor información, consulte la descripción de este comando.



Ver también 

REPLICATE

 
PROPIEDADES 

Producto: 4D
Tema: Utilizar SQL en 4D

 
HISTORIA 

 
ARTICLE USAGE

Manual de SQL ( 4D v16)