Documentación |
Noticias |
Detalles técnicos |
Ejemplos |
Programas necesarios |
Disponibilidad |
Contribuciones |
Autores |
Versión en Inglés (English version) |
IntroducciónUESQLC es un precompilador de SQL-92 inmerso en C++ y JAVA con licencia de Fuentes Abiertas, diseñado para ser extensible usando documentos SGML. Permite al usuario acceder a múltiples sistemas de gestión de bases de datos relacionales a partir de los mismos fuentes. Además, puede verificar los tres niveles de cumplimiento del SQL (Entry, Intermediate y Full). La distribución incluye los documentos SGML que permiten generar el código para los sistemas de acceso a bases de datos Oracle Server OCI, PostgreSQL LIBPQ, PostgreSQL JDBC y ODBC (en Unix/Linux se ha probado con UnixODBC). UESQLC está distribuido de acuerdo con los términos de la Licencia General GNU (GPL). DocumentaciónPara crear la documentación tanto del UESQLC como del MPCL, deberá usar DOXYGEN, el cual generará la documentación en formato PostScript, DVI, Man (Unix) y HTML. En estas páginas podrá encontrar la documentación en formato HTML de UESQLC y MPCL. Detalles TécnicosUESQLC ha sido escrito en C++ usando la librería MPCL (ver abajo). Ha sido desarrollada en una plataforma Linux y probada en Linux (con PostgreSQL LIBPQ) y Sun Solaris (con Oracle Server OCI) sin embargo, son bienvenidas versiones para otros sistemas operativos. Ver README, ChangeLog y NEWS para UESQLC y README, ChangeLog y NEWS para MPCL. Aquí tenemos una tabla con las plataformas donde el compilador ha sido compilado y verificado.
Aquí tenemos una tabla con los sistemas de acceso a bases de datos para los que UESQLC genera código actualmente.
Tanto el analizador lexicográfico como el sintáctico del lenguaje SQL-92, han sido escritos desde cero. Soporta SQL-92 menos los juegos de caracteres y los módulos. Donde este precompilador destaca es en la posibilidad de añadir nuevos sistemas de acceso a bases de datos (MySQL, Informix SQL, etc.) simplemente escribiendo un nuevo documento SGML (llamado formalmente CDML) sin tener que recompilar el propio compilador. Incluso, se podría escribir un documento CDML para un sistema de acceso a base de datos que no soporte SQL aunque si, un lenguaje de consulta equivalente. Con el uso de las herramientas GNU, autoconf, automake y libtool, el nivel de portabilidad del compilador es muy alto. EjemplosHe aquí un ejemplo de código UESQL (inmerso en C++) que se conecta a un SGBD, crea una tabla y visualiza los resultados de una sentencia SELECT. Por último, la tabla es eliminada. uesqlc::TString yCode; uesqlc::TInteger tWorkerCount; extern "UESQL::default" { whenever not found goto not_found; connect to 'sql.server.name' user 'myname'; create table JOBS ( CODE character (3) not null , WORKER_COUNT integer ); insert into JOBS values ('001', 100); insert into JOBS values ('002', 250); declare MYCURSOR cursor for select CODE, WORKER_COUNT from JOBS where ( WORKER_COUNT > 50 ); open MYCURSOR; } cout << "CODE WORKER_COUNT" << endl; cout << "==== ============" << endl; while ( true ) { extern "UESQL::default" { fetch from MYCURSOR into :yCode, :tWorkerCount; } cout << yCode << " " << tWorkerCount << endl; } not_found: extern "UESQL::default" { close MYCURSOR; drop table JOBS cascade; } Programas necesarios
DisponibilidadUESQLC y MPCL están disponibles aquí y la distribución sigue los terminos de la Licencia Pública GNU (GPL) y la Licencia Pública de Bibliotecas GNU respectivamente.
ContribucionesUESQLC (y MPCL) son programas/librerías de Fuentes Abiertos, y contribuciones, en términos de informes sobre errores, ideas, documentación, y parches, son por lo tanto, bienvenidas. Su habilidad para sobrevivir y tener éxito dependerán grandemente de las contribuciones de otros. No hace falta saber programar para poder contribuir, aunque ayuda :) La lista de cosas por hacer es:
Por favor, dime qué te parece el programa. AutoresUESQLC ha sido escrito por Rafael Jesús Alcántara Pérez con la ayuda del profesor (y amigo) Sergio Gálvez Rojas como Director del Proyecto en la Universidad de Málaga. Si desea soporte comercial para este proyecto, contacte con Dédalo Ingenieros, S.L. MPCL ha sido escrito por Rafael Jesús Alcántara Pérez como principal programador, y Francisco Rodrigo Escobedo Robles, Angel Jiménez Jiménez, Carlos Jiménez Moreno y Francisco Vides Fernández.
Copyright © 1996-2009 de
Rafael Jesús Alcántara Pérez. |