Extensiones ODBC para Perl-Win32 |
Perl es el lenguaje más ampliamente usado en la programación CGI en el World Wide Web, ya que ofrece una serie de ventajas que lo hacen ideal para construir interfaces entre el Web y otras aplicaciones. Algunas de las ventajas que Perl ofrece son:
A partir de estas y otras ventajas que Perl ofrece, así como también de la existencia de extensiones para ODBC de 32 bit, es posible construir aplicaciones que permitan acceder diversas bases de datos a través del Web.
Estas extensiones fueron desarrolladas por Dave Roth, y posibilitan que un escrito Perl haga uso de una serie de funciones para comunicarse con una base de datos. Las extensiones de Roth permiten que un escrito Perl acceda una base de datos a través de sentencias SQL. Estas extensiones funcionan únicamente para la versión Perl de 32 bits y que trabajan solo con aquellas bases de datos que posean manejador (driver) ODBC de 32 bit.
Por lo general, un programa CGI se invoca desde el atributo ACTION de un formulario. Este programa tiene por objetivo generar información dinámica a partir de los criterios especificados por el usuario en los campos del formulario.
Como ya se dijo, Perl posee todas las características para actuar como CGI entre el Web y una base de datos. En particular para plataformas Windows de 32 bit, Perl puede cumplir con esta tarea efectivamente ya que existen una serie de extensiones que permiten establecer conexiones con diversos tipos de bases de datos vía ODBC. Estas extensiones permiten incrustar sentencias SQL en un escrito Perl a través de las cuales serán enviadas a la base de datos. Las principales funciones que las extensiones ODBC ofrecen a un escrito Perl son:
Para usar las extensiones ODBC de Perl-Win32, en un escrito que actúe como CGI deben incluirse:
Los archivos Perl que hagan uso de las extensiones para ODBC deben poseer extensión .pl; y se invocan como cualquier escrito CGI:
http://<servidor_web>/<dir-cgi>/<aplicacion>.pl
<servidor_web>: Es la dirección IP o alias del servidor Web.
<dir-cgi>: Ruta del directorio de escritos CGI del servidor Web.
<aplicacion>.pl: Escrito Perl que hace uso de Extensiones ODBC.
Para ilustrar, supóngase que se tiene un formulario para inscribirse a un grupo de discusión sobre Perl:
<BODY>
<H1>Inscribase a Perl !</H1>
<FORM METHOD=GET ACTION="/cgi-bin/agregar.pl">
<P>Nombre:<INPUT NAME= "nombre" SIZE = "30">
<P>Email:<INPUT NAME= "email " SIZE = "30">
<INPUT TYPE="SUBMIT" VALUE="CONSULTAR">
</FORM>
</BODY>
</HTML>
El correspondiente escrito Perl, agregará el usuario especificado a una base de datos cuyo ODBC es "Miembros":
#Programa que agrega registros a una
#base de datos Perl
use Win32::ODBC;
use CGI_Lite;
$cgi = new CGI_Lite();
%results = $cgi->parse_form_data();
print "Content-type : text/plain \n\n";
$query = new Win32::ODBC("DSN = Miembros ;");
$query->sql("INSERT INTO GruPerl VALUES($results{nombre}, results{email})");
if ( $query->error){
print $query->error, "\n";
exit();
}
else{
print "Se inscribió a $results{nombre} ";
}
En el ejemplo anterior con la sentencia use se cargan tanto el módulo de extensiones ODBC como el de descodificación de datos del formulario. Las siguientes dos líneas descodifican la información proveniente del formulario en campos del arreglo results. Para que posteriormente se envíe la sentencia SQL hacia la tabla GruPerl, que pertenece a la base de datos que tiene por ODBC Miembros. Finalmente, se envía al servidor Web el mensaje indicador del éxito o fracaso de la inserción.
Las extensiones ODBC deben ser llamadas desde un escrito Perl que pueda comportarse como aplicación CGI 1.1. Tales extensiones permiten que desde un escrito Perl se pueda establecer comunicación con una base de datos a través de ODBC; lo cual implica que los criterios que un usuario ha especificado en un formulario se procesen y se conviertan en sentencias SQL, para que el ODBC las intérprete y sean enviadas a la base de datos, con el objetivo de obtener los resultados esperados de la misma.
Este procedimiento se ilustra en la Fig. 10.
Figura 10. Arquitectura de Extensiones ODBC para Perl Win-32.
Las extensiones ODBC para Perl constan de dos archivos :
Todas aquellas para las cuales existan ODBC de 32 bit, es decir: Microsoft SQL Server, Microsoft Access, Oracle, Sybase, FoxPro, etc.
Todo Servidor Web que soporte CGI 1.1: Microsoft IIS 1.0 o superior, OReilly & Asocciates WebSite, Emwacs, etc.
Las extensiones ODBC para Perl Win-32, se ofrecen gratuitamente en el sitio ftp://ftp.roth.net/pub/ntperl .
La página principal de estas extensiones es http://www.roth.net/ODBC, en donde se encontrará toda la información relativa a éstas.
El paquete de distribución incluye:
Dave Roth
ftp: ftp://ftp.roth.net/pub/ntperl
email: rothd@roth.net
Paquete de distribución gratuita ofrecido por Dave Roth en ftp://ftp.roth.net/pub/ntperl | |
Arquitectura | CGI 1.1 que se ejecuta en base a interpretación, estableciendo conexión con una base de datos vía ODBC. |
Características |
|