Página de inicio - Tecla de acceso: 1
Notas técnicas

MultiWay: Acceso a distintos gestores de base de datos

Casos prácticos

Suponiendo que se haya desarrollado una aplicación en MultiBase frente al gestor de base de datos CTSQL, los pasos a seguir para que dicha aplicación funcione con el resto de gestores son los que se exponen más adelante para cada uno de ellos.

NOTA: Si se tuvieron en cuenta las restricciones en instrucciones CTL que existen para cada uno de los servidores de bases de datos a la hora de desarrollar la aplicación, eligiendo el mínimo común denominador de todas ellas no será necesario modificar los fuentes CTL de la misma ni recompilarla. Los mismos programas serán válidos con independencia del servidor, y los ejecutables CTL serán directamente utilizables.

a) Oracle

1. Generar previamente sobre el servidor CTSQL de MultiBase el esquema de la base de datos (fichero con extensión «sql» de igual nombre al de la base de datos. Por ejemplo: «almacen.sql»), para poder reproducir después la misma estructura frente al servidor de Oracle.

2. Confeccionar las variables del fichero de configuración del servidor de Oracle («gworacle.env»).

3. En instalaciones cliente-servidor la variable DBSERVICE debe tener el valor «gworacle». Junto a esta variable hay que configurar también las variables de entorno DBHOST, DBUSER y DBPASSWD.

4. Crear la base de datos a través del administrador de bases de datos de Oracle.

5. Crear un usuario de conexión a la base de datos a través del administrador de la base de datos Oracle.

6. A continuación existen dos posibilidades:

a) Mediante un programa CTL ejecutar, sobre la base de datos de Oracle, el esquema generado anteriormente sobre el fichero «almacen.sql». Por ejemplo:

    main begin
      create database almacen
      tsql file "almacen"
    end


La primera instrucción crea la base de datos «almacen» en MultiBase. Esta operación en MultiWay implica la generación del catálogo de la base de datos. Dicho catálogo está compuesto por las tablas «mb*» que se crearán en la base de datos de Oracle.

La segunda instrucción crea las tablas, índices, claves primarias, etc. que estuviesen definidas en el fichero «almacen.sql». Estas tablas se crean en la base de datos de Oracle. Asimismo, el catálogo de la base de datos de MultiWay se carga con la información que genera dicha creación de elementos SQL.

b) Ejecutar el esquema desde el entorno Oracle con instrucciones específicas de este servidor. Utilizando este procedimiento sería necesario crear después el catálogo de MultiWay y, entrando en modo mantenimiento, el resto del esquema actualizando dicho catálogo. Por ejemplo:

    main begin
      create database almacen
      tsql "begin maintenance mode"
      tsql file "almacen"
      tsql "end maintenance mode"
    end


Este ejemplo es similar al anterior, pero con la diferencia de que las tablas ya están creadas en la base de datos de Oracle. Por lo tanto, la única operación será actualizar el catálogo de MultiWay (tablas «mb*»). Esta actualización se realiza al ejecutar el esquema «almacen.sql» pero en modo mantenimiento («BEGIN MAINTENANCE MODE» y «END MAINTENANCE MODE»).

Ésta es la operación que hay que realizar en MultiBase cuando se desea importar desde el CTSQL una base de datos creada en Oracle.

7. Cargar los datos si procede.

b) Informix

1. Generar previamente sobre el servidor CTSQL de MultiBase el esquema de la base de datos (fichero con extensión «sql» cuyo nombre es igual que el de la base de datos. Por ejemplo, «almacen.sql»), para poder reproducir después la misma estructura frente al servidor de Informix.

2. Confeccionar las variables del fichero de configuración del servidor de Informix («gwinformix.env»).

3. En instalaciones cliente-servidor la variable DBSERVICE debe tener el valor «gwinformix». Junto a esta variable hay que configurar también las variables de entorno DBHOST, DBUSER y DBPASSWD.

4. A continuación existen dos posibilidades:

a) Mediante un programa CTL crear la base de datos y ejecutar el esquema generado anteriormente sobre el fichero «almacen.sql». Por ejemplo:

    main begin
      create database almacen
      tsql file "almacen"
    end


La primera instrucción crea la base de datos «almacen» en Informix y el catálogo de la base de datos de MultiWay. Dicho catálogo está compuesto por las tablas «mb*» que se crearán como si fuesen unas tablas más de la base de datos de Informix.

La segunda instrucción crea las tablas, índices, claves primarias, etc. que estuviesen definidas en el fichero «almacen.sql». Estas tablas se crean en la base de datos de Informix. Asimismo, el catálogo de la base de datos de MultiWay se carga con la información que genera dicha creación de elementos SQL.

b) Crear la base de datos y ejecutar el esquema desde el entorno de Informix con instrucciones específicas de este servidor. Utilizando este procedimiento sería necesario crear después el catálogo de MultiWay y, entrando en modo mantenimiento, cargarlo con la información que genera la creación de los elementos SQL incluidos en el fichero «almacen.sql». Por ejemplo:

    main begin
      tsql "create multibase catalogs"
      tsql "begin maintenance mode"
      tsql file "almacen"
      tsql "end maintenance mode"
    end


Este ejemplo se diferencia del anterior en que las tablas ya están creadas en la base de datos de Informix. Por lo tanto, la única operación será crear y actualizar el catálogo de MultiWay (tablas «mb*»). Esta actualización se realiza al ejecutar el esquema «almacen.sql» en modo mantenimiento («BEGIN MAINTENANCE MODE» y «END MAINTENANCE MODE»).

Ésta es la operación que hay que realizar en MultiBase cuando se desea importar desde CTSQL una base de datos creada en Informix.

5. Cargar los datos si procede.

«