Guía de Implantación de la Interfaz DB-Connector |
Para efecto de realizar las pruebas con db-Connector en el presente Trabajo de Graduación, se configuró una PC con el servidor Windows NT 4.0 y el servidor Web Internet Information Server 2.0, accediendo a bases de datos ODBC. Adicionalmente, se probó dicha interfaz en otro equipo con el sistema operativo Windows95 y el servidor Web OmniHTTPd, accediendo también a bases de datos ODBC.
A continuación se desarrolla una guía práctica para implantar la interfaz db-Connector en la plataforma Windows, en al cual se describe el lenguaje de programación
que soporta db-Connector para crear plantillas DTL, incluyendo ejemplos de aplicación y uso.
Adquiera una copia de evaluación del software db-Connector para Windows NT y Windows95 en el siguiente sitio FTP:
ftp://ftp.eunet.co.at/pub/vendor/csm/alibaba/dbcons.exe (3.7 MB)
Ejecución del Programa de Instalación (Setup)
El programa de instalación (Setup) se ejecuta automáticamente al extraer los archivos de distribución de db-Connector. Para ello, realice los siguientes pasos:
Notas:
Una vez que se haya instalado correctamente db-Connector, deberán definirse las conexiones a las bases de datos ODBC que se emplearán con la interfaz. Así mismo, se requiere configurar db-Connector con el servidor Web y la herramienta de administración provista con db-Connector.
Para conectar su base de datos con db-Connector a través de ODBC, Primeramente debe configurar una conexión ODBC como se indica a continuación:
1. Ejecute la herramienta de administración "db-Connector Administrator" que se encuentra en el grupo de icono que se instaló en su sistema.
2. Cambie a la carpeta "Data Sources".
Nota: Si aún no ha creado una fuente de datos del sistema con su base de datos, puede hacerlo desde el administrador db-Connector, seleccionando el botón "ODBC Manager", o bien desde el Panel de Control.
3. Seleccione el botón "Add" para agregar al fuente de datos ODBC que requiera. Siga los cuadros de diálogo que aparecen hasta que finalice con el botón "Finished".
4. Una vez que haya adicionado la fuente de datos ODBC en el administrador db-Connector, puede seleccionar el botón "Verify" para verificar si la conexión a dicha fuente de datos es utilizable para db-Connector.
5. Salga del administrador db-Connector seleccionando el botón "Close".
db-Connector y el Servidor Web
En primer lugar, debe configurar en el servidor Web un nombre alias que haga referencia al directorio donde reside el programa ejecutable DBCCI (dbcci.exe), como se indica a continuación:
Donde <dir-dbc> es el directorio donde se instaló db-Connector y clients el subdirectorio donde reside el programa dbcci.exe.
Nota:
Opcionalmente puede sustituir el paso anterior, copiando o moviendo el archivo dbcci.exe del directorio "clients" al directorio de escritos CGI, el cual ya tiene configurado en su servidor Web.
En segundo lugar, debe configurar en el administrador db-Connector un nombre alias que haga referencia al directorio donde residen los archivos de plantilla (.dtl), como se indica a continuación:
Nota:
El directorio de plantillas DTL puede ser el directorio raíz de documentos HTML en su servidor Web.
Se recomienda hacer uso base de datos de ejemplo "Products" que se instala con db-Connector para poder probar la instalación y configuración de dicha interfaz. Es requisito tener instalado en el sistema el dispositivo ODBC para MS Access 7.0. Prosiga de la siguiente forma para ejecutar la aplicación de prueba:
Si se presenta algún error, asegúrese de haber seguido correctamente todas las indicaciones anteriores. También puede consultar la sección de preguntas y respuesta (FAQs) de la documentación que se incluye con db-Connector.
Para los ejemplos que se describen a continuación, se hace referencia a la base de datos "Products" o "Productos" que se provee con db-Connector. Esta base de datos se compone de tres tablas, las cuales son:
Para conectar su base de datos a través de ODBC, primero debe configurar una conexión a través del administrador db-Connector en el cuadro de diálogo "Data Sources", tal como se explicó en la sección "Conexión a las Bases de Datos" de esta misma guía.
DTL es el lenguaje de programación que reconoce db-Connector, el cual consiste en una extensión del formato estándar HTML. Este lenguaje se emplea en archivos de plantillas (.dtl) para realizar acciones en una base de datos y obtener así los resultados, que se despliegan en formato HTML. DTL reconoce unas etiquetas especiales, así como también las etiquetas HTML.
Creación de una plantilla
Puede emplear cualquier editor de texto para crear una plantilla. Recuérdese que estos archivos deben residir en el directorio de plantillas que se especificó en la configuración de db-Connector y tienen la extensión .dtl.
En el siguiente ejemplo de plantilla DTL, se establece un condicional para averiguar si la variable de entorno request_method es igual a POST o GET, desplegando un mensaje de acuerdo al resultado. También se despliega otro mensaje con los valores de las variables de entorno server_software y server_name.
<head><title> Ejemplo de Plantilla DTL </title></head>
<body>
<dbc_if cond=" ENV.request_method eq 'POST' ">
La plantilla fue requerida por el método POST <br>
<dbc_else>
La plantilla fue requerida por el método GET <br>
</dbc_endif>
desde el servidor Web {ENV.server_name} ejecutándose con {ENV.server_software}.
</body>
</html>
El archivo HTML resultante que se envía al cliente browser, puede ser el siguiente:
<html>
<head><title> Ejemplo de Plantilla DTL </title></head>
<body>
La plantilla fue requerida por el método POST <br>
desde el servidor Web 127.0.0.1ejecutándose con OmniHTTPd/1.0F (Win32; i386).
</body>
</html>
Consulta simple a una base de datos
Para crear consultas a una base de datos a través de sentencias SQL en plantillas DTL, debe realizar los siguientes pasos:
1. Defina la consulta utilizando la etiqueta <DBC_DEF>, como se muestra a continuación:
<dbc_def name="SQL" datasource="Productos" sql="select * from Fabricantes">
2. Ejecute la consulta con la etiqueta <DBC_EXEC>, como se indica a continuación:
<dbc_exec query="SQL">
3. Ejecute las operaciones de despliegue de resultados. Para ello, deberá utilizar las etiquetas <DBC_OUTPUT> y </DBC_OUTPUT >, así como también especificar el formato de despliegue, como se muestra a continuación:
<h2> {nombre} </h2> <br>
{pais}-{cod_postal}<br>
{direccion1}<br>
{direccion2}<br>
<hr>
</dbc_output>
Nota:
También es posible actualizar una base de datos a través de sentencias o instrucciones SQL, para insertar, eliminar o modificar datos de los registros.
Referencia a variables y campos de datos
Para hacer referencia a una variable o campo de dato, debe encerrar su nombre respectivo entre los caracteres{}. Puesto que existen diferentes vistas de variables, es necesario especificar en cuál vista puede ser encontrada una variable.
Los grupos predefinidos de variables son:
C : | Para constantes definidas previamente en la plantilla. |
CALC : | Para los resultados almacenados de cálculos. |
CGI : | Para variables de un formulario HTML. |
DBC : | Para información de los datos de requisiciones y del servidor db-Connector. |
ENV : | Para variables de entorno del programa Web. |
Etiquetas DTL
El lenguaje DTL soporta ocho tipos diferentes de etiquetas con sus respectivos atributos, las cuales son:
<dbc_calc> | Para realizar cálculos. |
<dbc_const> | Define una constante dentro de la plantilla. |
<dbc_def> | Define una sentencia o instrucción SQL. |
<dbc_exec> | Ejecuta una sentencia o instrucción SQL. |
<dbc_if> <dbc_elseif> <dbc_else> | Bloque de sentencia condicional. |
<dbc_output> </dbc_output> | Indica a db-Connector el formato de despliegue sobre los resultados. |
<dbc_section> | Divide la plantilla en secciones. Si una sección se especifica en la requisición (URL), solamente esa parte de la plantilla es transferida y ejecutada. Todo lo demás que no se ubique en dicha sección es interpretado como una "sección común". Si no se especifica un nombre de sección, db-Connector asume el nombre DEFAULT como predeterminado . |
<dbc_set> | Fija algunos valores de control. |
Para mayor información acerca de las etiquetas DTL y sus respectivos atributos, remítase a la sección "The Database Template Language Tags" de la documentación provista con db-Connector.
En el siguiente ejemplo, se muestra una plantilla DTL que contiene dos secciones "default" y "resultado". La primera sección despliega un formulario HTML para buscar por el nombre de un producto. Nótese que en el atributo ACTION del formulario se construye el URL haciendo uso de la variable "dbc.dbcurl" acompañada del nombre de la sección "resultado". En la segunda sección se construye la sentencia SQL empleando el dato ingresado por el usuario en el formulario HTML. También se despliegan los resultados obtenidos.
<head><title> Búsqueda por producto </title></head>
<body>
<dbc_section name="default">
<h1> Búsqueda por producto </h1>
<hr>
<form action={dbc.dbcurl}/[resultado]>
Ingrese el nombre del producto a buscar: <input name=producto type=text>
<input type=submit value=Buscar>
</form>
<hr>
</dbc_section>
<dbc_section name="resultado">
<dbc_def name="SQL" datasource="Productos"
<dbc_exec query="SQL">
<h1>Resultado de la búsqueda </h1>
<hr>
<h2>Se buscó el producto {cgi.producto}</h2>
<dbc_output result="SQL">
<h2> Producto: {nombre}-{id} </h2>
Precio: {precio}<br>
Descripción:{descripcion}<br>
Descuento (%):{descuento}<br>
<hr>
</dbc_output>
</dbc_section>
</body>
</html>