Con motivo de seguir aprendiendo a utilizar herramientas libres, he realizado un pequeño proyecto de altas y bajas utilizando el IDE Monodevelop con el motor de base de datos MySql.
Vamos a comenzar por explicar como conectar MySql con Mono. Para ello necesitaremos descargarnos la siguiente dll. Download MySql.dll.
Instalamos MySql.Dada.dll tecleando en consola:
# gacutil -i MySql.Data.dll
Creamos un nuevo proyecto y del lado izquierdo damos click derecho donde dice Referencias y le damos en Editar preferencias… .

En la pestaña de paquetes, palomeamos donde dice System.Data

Pasamos a la pestaña de Ensamblado .NET y buscamos el archivo MySql.Data.dll , lo seleccionamos y presionamos el botón Añadir.

Ahora solamente faltaría añadir unas librerias ya en nuestro proyecto:
Using System.Data;
Using MySql.Data.MySqlClient;

Con ello ya podemos empezar a programar y conectar a MySql. Como primera práctica que realicé, hice un pequeño proyecto de Altas y Bajas.
El programa es algo sencillo y esta algo verde, pero como primer programa creo que es muy útil ya que viene lo esencial para comenzar a realizar un proyecto grande.
Para correr bien el programa, hay que crear una nueva base de datos llamada prueba y crearle una tabla con el siguiente script:
CREATE TABLE IF NOT EXISTS `usuarios` ( `id` int(10) NOT NULL, `nombre` varchar(150) collate latin1_spanish_ci NOT NULL, `apellidos` varchar(200) collate latin1_spanish_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci COMMENT='Tabla de Usuarios';
Como ven, es una tabla sencilla de tan solo 3 campos, id qué es el número de control de usuario a ingresar, el campo de nombre y apellido. Hay que modificar la sección de conexión con su nombre de usuario y password de mysql. Creo que no debe de haber ningún problema para entender el programa, algunas partes les puse comentarios para ir explicandolas, aquí dejo algunas operaciones que creo son las más importantes:
Sección de conexión con la base de datos:
string conexion =
"Server=localhost;" +
"Database=prueba;" +
"User ID=root;" +
"Password=tupass;" +
"Pooling=false";
IDbConnection dbcon;
dbcon = new MySqlConnection(conexion);
dbcon.Open();
Sección de insertar usuario, donde control, nombre y apellido son tomados de cajas de texto:
IDbCommand dbcmd = dbcon.CreateCommand();
string sql= "INSERT INTO `prueba`.`usuarios` (`id` ,`nombre` ,`apellidos`) VALUES ( '"+ control +"' ,'"+ nombre +"','"+ apellido +"');";
dbcmd.CommandText= sql; //se manda el query
dbcmd.ExecuteReader(); // se ejecuta el query
dbcon.Close(); // se cierra la conexión
Eliminar usuario:
IDbCommand dbcmd = dbcon.CreateCommand(); string sql = "DELETE FROM `usuarios` WHERE `usuarios`.`id` = '"+ control +"';"; dbcmd.CommandText= sql; dbcmd.ExecuteReader(); dbcon.Close();
Aquí les dejo el proyecto para la descarga, espero y les sea de utilidad, queda libre de modificaciones y mejoras.
May 6, 2008 | Etiquetado en: | 7 Comments He modificado el programa de ABC con MySQL a ABC con PostGreSQL, la verdad que no cambia mucho la sintaxis para PHP, es basicamente lo mismo, la sintaxis SQL cambia un poco, pero gracias a PhpPgAdmin no tuve problemas. Si apenas estan comenzando a utilizar postgre, pueden seguir mi guía para instalación y configuración. Les dejo el código por si quieren empezar a programar con PHP y PostGreSQL tengan algo de referencia. Claro, lo libero bajo la Licencia de Pública General GNU.
April 9, 2008 | Etiquetado en: | 2 Comments Hace tiempo había realizado un pequeño programa de ABC y busqueda con LAMP (Linux, Apache, MySQL, PHP), y tenía pensado subirlo y liberarlo libremente, pues aquí esta el código junto con la base de datos. Es un programa sencillo, pero muy práctico para quienes se quieran iniciar en PHP y MySQL, quiero modificar este programa para que trabaje con PostGreSQL, pero eso lo haré más delante, ando un poco ocupado por la escuela. Espero y les sea de utilidad.
Uso:
March 30, 2008 | Etiquetado en: | 23 Comments 
PostGreSQL es un sistema de gestión de bases de datos objeto-relacional (ORDBMS) basado en el proyecto POSTGRES, de la universidad de Berkeley. PostGreSQL junto con MySQL son 2 de los sistemas de gestión de bases de datos de código abierto, siendo este último, el más utilizado entre las páginas web que utilizan bases de datos.
Ya he tenido la oportunidad de trabajar con MySQL y la verdad ha sido muy flexible y fácil de utilizar. Una de las características de MySQL es la rapidez con la que trabaja a la hora de las consultas, sin embargo, me dio por conocer ahora PostgreSQL, ya qué he leído varios comentarios muy buenos de el. Entre algunas características que tiene PostGreSQL son las siguientes:
Algunas desventajas:
Apesar de que sea un sistema más lento que MySQL , es un sistema mucho más viable para uso de grandes cantidades de base de datos a las qué se puede acceder simultaneamente por múltiples usuarios, cosa que MySQL no lo logra.
Para la instalación es fácil en Debian, ya que se encuentra entre los repositorios (Repositorios Debian), para ello instalamos la última versión de PostGreSQL:
# aptitude install postgresql-8.3 postgresql-contrib-8.3 postgresql-client-8.3
Una vez instalado, vamos a crear un usuario con los permisos para crear bases de datos y dar de alta más usuarios.
$ su Contraseña: #su postgres $createuser -a -d -P usuario exit exit
Explicación: -a Permite dar de alta usuarios, -d Permite crear bases de datos, -P le asignamos contraseña al usuario.
Podemos eliminar los usuarios creados entrando como root a PostGreSQL:
$ su Contraseña: #su postgres $ dropuser usuario exit exit
Una vez creado el usuario con todos los privilegios, podemos empezar a crear bases de datos, listar las bd existentes, dar de alta más usuarios, etc…
Vamos a crear una bd con el sig. comando:
$ createdb nueva_bd
Y listamos las bd existentes verificando que se haya creado correctamente:
$ psql -l
Podemos eliminar las bases de datos creadas con:
$ dropdb nueva_bd
Una herramienta muy buena para trabajar con PostGreSQL , es PhpPgAdmin un sistema muy parecido a phpmyadmin de MySQL. La instalación es sencilla:
# aptitude install phppgadmin php5-pgsql
En mi caso, tuve que modificar algunas cosas de apache para que funcione, explorando por las carpetas de apache me encuentro con lo siguiente:
# cd /etc/apache2/conf.d/ charset phpmyadmin.conf
Podemos observar que solamente viene el archivo de configuración de phpmyadmin , el cual si se puede correr desde localhost/phpmyadmin, cosa que con PhpPgAdmin no se pudo. Luego navegando por los archivos de phppgadmin me encontre con lo siguiente:
# cd /etc/phppgadmin/ apache.conf config.inc.php
Ese archivo llamado apache.conf es el que contiene todo el código necesario para que corra con apache, para ello agregé ese archivo apache.conf a la carpeta /etc/apache2/conf.d/ renombrandolo por phppgadmin.conf.
# cp /etc/phppgadmin/apache.conf /etc/apache2/conf.d/phppgadmin.conf
Una vez con esto reiniciamos apache:
# /etc/init.d/apache2 force-reload
Y corremos phppgadmin desde el navegador localhost/phppgadmin.
Una de las primeras pruebas qué realicé fué probar Drupal con PostGreSQL y para ello creamos una base de datos vacia:
$ createdb drupal
Y modificamos el archivo drupal/sites/default/settings.php en el apartado que viene comentado:
$db_url = 'pgsql://usuario:password@localhost/drupal';
Y comentamos el apartado de MySQL:
//$db_url = 'mysql://username:password@localhost/databasename';
Y ahora bastará con correr desde el navegador el archivo: http://localhost/drupal/install.php

Gracias a guivaloz por su documentación en su página acerca de PostGreSQL, en la página de PostGreSQL existe una gran documentación sobre este gran sistema. Los invito a qué prueben estas alternativas libres, ya sea PostGreSQL ó MySQL, ya que son unas alternativas de gran cálidad y estan muy por encima de sistemas propietarios.
March 26, 2008 | Etiquetado en: | 9 Comments
Todos los derechos reservados. Tecnologia.