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

MultiBase. Notas a la versión 2.0, release 05 para Windows

12. Arquitectura cliente-servidor

12.1. Configuración de la máquina cliente (Windows)

Para ejecutar MultiBase en modo cliente-servidor deberá tener instalado previamente el paquete denominado «PC/TCP network software for DOS», de la compañía FTP, y comprobar la existencia de la libre ía dinámica «WINSOCK.DLL» («Windows Sockets API Implementation DLL»). Dicha librería deberá reemplazar a la del mismo nombre incluida en su copia de MultiBase («TRANSDIR\bin\WINSOCK.DLL»).

A continuación, actualizar (o crear, si no existiera) el fichero «C:\etc\services» con la siguiente línea:

ctsql nnn/tcp ctsql

Siendo «nnn» un número único dentro del fichero, y que deberá coincidir con el que se haya utilizado en el fichero «/etc/services» del servidor UNIX.

Definir las siguientes variables de entorno:

Ejemplo de configuración en un «cliente» Windows:

SET DBTEMP=C:\TMP
SET TRANSDIR=C:\CTL
PATH=C:\CTL\BIN;C:\DOS;C:\Windows...
SET TERM=VGAC

SET DBHOST=master
SET DBUSER=pedro
SET DBPASSWD=NOPASSWD
SET DBPATH=/usr/almacen
SET XDBTEMP=/tmp

Ejemplo de configuración en un «cliente» UNIX:

DBTEMP=/tmp
TRANSDIR=/usr/ctl
PATH=/usr/ctl/bin:.:/bin...
TERM=AT386

DBHOST=master
DBUSER=pedro
DBPASSWD=NOPASSWD
DBPATH=/usr/almacen
XDBTEMP=/tmp

12.2. Configuración de la máquina servidor

Para invocar al CTSQL cuando es requerido por algún nodo de la red se utiliza el comando de UNIX «inetd». Este comando utiliza el fichero de configuración «INETD.CONF», que suele estar localizado e el directorio «/etc». Habrá que editarlo y añadir la siguiente línea (una sola):

ctsql stream tcp nowait root $TRANSDIR/lib/ctsql
ctsql system 1.0 4.0 NET

(sustituyendo «$TRANSDIR» por el directorio donde esté instalado MultiBase).

Editar el fichero «/etc/services» y añadir la siguiente línea:

ctsql nnn/tcp ctsql

Siendo «nnn» un número único dentro del fichero que deberá coincidir con el que se haya utilizado en el fichero «services» de la maquina «cliente».

13. Definición de entorno a través de un fichero

Todos los comandos de MultiBase en Windows comprueban la existencia de un fichero de definición de variables de entorno, de nombre «MBENV», en el directorio «$TRANSDIR\etc». En caso de existir se añadirán al entorno las variables que aparezcan en él y que no estuvieran ya definidas, es decir, respeta el entorno previo a la ejecución del programa.

También se podrá utilizar el parámetro «-ef» para indicar el fichero concreto que debe utilizarse. Si se usa este parámetro se añadirán todas las variables que vengan definidas, pero en este caso se modificará el valor de las que ya lo estuvieran de antemano. Si en el nombre de este fichero no aparece el «path» completo se buscará en el directorio «$TRANSDIR\etc».

NOTA: La asignación de variables de entorno en estos ficheros no requiere la cláusula «SET» como en MS-DOS.

Ejemplos:

a) Utilizando el fichero por defecto:

Contenido del fichero «$TRANSDIR\etc\mbenv»:

DBPATH=c:\mbdemo
DBPROC=c:\mbdemo
RPRINTER=printer1
DBTEMP=C:\TMP
DBMONEY="Ptas,"

Entorno definido antes de ejecutar Windows:

TRANSDIR=c:\ctl
DBPATH=c:\ctl\ep;c:\almacen
DBPROC=c:\ctl\ep;c:\almacen

Al ejecutar un comando MultiBase desde Windows el entorno quedará:

TRANSDIR=c:\ctl
DBPATH=c:\ctl\ep;c:\almacen
DBPROC=c:\ctl\ep;c:\almacen
RPRINTER=printer1
DBTEMP=c:\tmp
DBMONEY="Ptas,"

b) Utilizando el parámetro «-ef fichero» (suponiendo que «fichero» equivale a «C:\environ\contaenv»):

Contenido del fichero «C:\environ\contaenv»:

DBHOST=server
DBUSER=adm
DBPASSWD=NOPASSWD
DBPATH=/usr/conta
DBPROC=c:\conta
DBTEMP=c:\tmp
DBMONEY="Ptas,"

Entorno definido antes de ejecutar Windows:

TRANSDIR=c:\ctl
DBPATH=c:\ctl\ep;c:\almacen
DBPROC=c:\ctl\ep;c:\almacen

Al ejecutar un comando MultiBase desde Windows con el parámetro «-ef»:

ctl -ef c:\environ\contaenv menuconta

el entorno quedará:

TRANSDIR=c:\ctl
DBHOST=server
DBUSER=adm
DBPASSWD=NOPASSWD
DBPATH=/usr/conta
DBPROC=c:\conta
DBTEMP=c:\tmp
DBMONEY="Ptas,"

NOTA: El parámetro «-ef» debe ser el primero de todos los del comando.

« »