Guía de Implantación de la Interfa w3-MiniSQL

[Contenido]

[Anterior] [Siguiente]

 


 

Introducción 

W3-msql permite acceder bases de datos MiniSQL a través del Web, mediante la inclusión de sentencias SQL en una página HTML. W3-mSQL saca provecho del interfaz API que MiniSQL ofrece, pero evita entrar en detalles de programación en Lenguaje C.

La presente práctica se llevó a cabo en una PC con procesador Intel 586 con 8 MB en memoria RAM. Con el Sistema Operativo Linux 1.2.13, el servidor Web NCSA Http Server y la base de datos MiniSQL 1.0. A continuación se detalla el procedimiento a seguir para implantar W3-msql en Linux 1.2.13, pero los pasos pueden generalizarse para otros tipos de Unix.

Adquisición del Software

Especifique en su browser:

ftp://ftp.Hughes.com.au/w3-mSQL/w3-msql-1.1.tar.gz

El archivo w3-msql-1.1.tar.gz posee w3-msql ver. 1.1 y tiene un tamaño aproximado de 29 Kb.

Instalación

1. Descomprimir el archivo de distribución de w3-mSQL desde Shell de Unix de la siguiente forma:

#dir_instalacion/gzip -d w3-msql-1.1.tar.gz | tar -xvf

con lo cual se creará el directorio #dir_instalacion/w3-msql-1.1/

2. En este nuevo directorio, editar archivo Makefile para reflejar la configuración de su sistema.

3. Digitar make. Con lo cual se creará un ejecutable llamado w3-msql.

4. Copiar archivo w3-msql a directorio cgi-bin.

Configuración

Para que una base de datos responda a una serie de requisiciones, es necesario que el servicio de MiniSQL esté activo, por lo cual debe incorporarse a la lista de procesos que serán iniciados cada vez que el sistema operativo arranque. Este servicio se llama msqld y también se puede levantar o activar en forma interactiva con se indica a continuación:

/usr/local/Minerva/bin# msqld & ps -x | grep msqld

Acceso a Archivos de W3-Msql

Al elaborar una aplicación w3-msql , se debe tener especial cuidado al ser referida ya que en el URL se debe seguir el formato:

http://<servidor_web>/<dir-cgi>/w3-msql/<dir_aplicacion>/<aplicacion>.htm

En donde:

<servidor_web>:Es la dirección IP o alias del servidor Web.

<dir-cgi>: Ruta del directorio de escritos CGI del Servidor Web.

w3-msql: Programa CGI de W3-mSQL

<dir_aplicacion>: Ruta relativa al directorio de datos, en donde reside la aplicación

<aplicacion>.htm: Página Web con comandos w3-msql incrustados.

Ejemplo de Aplicación

A continuación se presenta un formulario que consulta una base de datos que mantiene información acerca de lectores de una revista:

<HTML>

<BODY>

<H2>Consulte nuestros Lectores:</H2>

<FORM METHOD="GET" ACTION="/cgi-bin/w3-msql/mag/conspc.htm">

<P>Nombre:<INPUT NAME="nombre" SIZE=40>

<INPUT TYPE="SUBMIT"VALUE="CONSULTAR">

</FORM>

</BODY>

</HTML>

La aplicación conspc.htm es:

<HTML>

<BODY>

<! msql connect www.magazine.com>

<! msql database Lectores>

<! msql if ($nombre==" ")>

<! msql query "SELECT * FROM pcbyte" cons>

<!msql else>

<! msql query "SELECT * FROM pcbyte WHERE nombre= ‘$nombre’ " cons>

<! msql fi>

<! msql if ( $NUMROWS != 0 ) >

<H1>Los Profesionales son:</H1>

<TABLE>

<TH>Nombre<TH>Correo<TR>

<! msql print_rows cons "<TD>@cons.0<TD>@cons.1<TR>">

</TABLE>

<! msql else>

<H1>No Existen Profesionales bajo ese nombre</H1>

<! msql fi>

<! msql free cons>

<! msql close>

</BODY>

</HTML>

Se debe destacar que los campos de la forma se acceden anteponiendo el símbolo "$" a cada campo.

Las directivas que w3-msql debe procesar son del tipo <! msql ...>, y a continuación se describen:

Permite establecer una conexión al motor de la base de datos MiniSQL. Si la base se ejecuta sobre una máquina remota es necesario especificar la dirección IP de ésta o su alias. En el ejemplo anterior es www.magazine.com.

Se elige la base de datos que recibirá las consultas SQL, por ejemplo:

<! msql database Lectores>, selecciona la base Lectores.

<! msql else>

<! msql fi>

W3-mSQL provee una construcción if-then-else, para incluir condicionales en una página HTML. Estas pueden ir anidadas. En la porción condicional del if se pueden usar los operadores de comparación ==, != , < , <= , > , >= ; así como los operadores lógicos && y ||.

En el ejemplo anterior conspc.htm, el primer condicional verifica que se haya ingresado algún tipo de datos en el campo nombre del formulario HTML. El segundo if verifica la obtención de respuesta desde la base de datos; para lo cual se ha usado la variable $NUM_ROWS, definida por w3-msql, que contiene el número de registros obtenidos a partir de sentencia SELECT.

Emite una sentencia SQL a la base de datos , la cual se envía a la base de datos; y cualquier información retornada se aloja en variable id_consulta.

El comando print_rows permite que el contenido de id_consulta se despliegue de acuerdo al formato especificado en parámetro "formato".

De tal modo que la directiva:

  • <TABLE>

    <TH>Nombre<TH>Correo<TR>

    <! msql print_rows cons "<TD>@cons.0<TD>@cons.1<TR>">

    </TABLE>

  • Construye una tabla HTML, y por cada registro obtenido se imprime una fila.

    Cada campo del registro se obtiene anteponiendo el símbolo "@" al identificador de la consulta, seguido de "." más el índice numérico del campo recuperado, empezando desde cero.


    [Contenido] [Anterior] [Arriba] [Siguiente]