Curso ADO.NET con Mono y MySQL – Preparación e instalación
Pasado más de un mes desde la entrada que anunciaba este curso, volvemos a la carga, veamos.
Antes de nada, de forma básica, vamos a revisar qué necesitamos, cómo obtenerlo y en caso necesario, cómo configurarlo. En este momento ,creo conveniente señalar que utilizaremos MonoDevelop,el entorno de desarrollo integrado para Mono más popular, en lugar de utilizar directamente el compilador, mcs; para centrarnos directamente en el desarrollo con ADO y dejar de lado los detalles que no son necesarios.
Mono y MonoDevelop
En función de la distribución que utilicéis, las circunstancias particulares cambiaran, pero básicamente os comento dos alternativas que probablemente os sirvan prácticamente a todos. La primera es dirigiros a vuestro gestor de paquetes y buscar los paquetes correspondientes. Como monodevelop, que será más o menos así el nombre del paquete, depende de Mono, si elegís éste se os seleccionaran los demás paquetes necesarios para desarrollar y ejecutar programas con Mono. Es decir, básicamente instalando MonoDevelop a través del paquete homónimo, tendréis todo preparado. Además, es más que probable que tengáis instalado Mono en vuestro equipo por defecto. Por ejemplo, el entorno de escritorio Gnome utiliza esta tecnología ampliamente.
La segunda solución, la más larga y menos recomendable es instalar Mono compilando el código fuente. Necesitaremos tener instalados: cmpilador de C (gcc), Bison y las librerías de desarrollo para glib. Descargaremos el código fuente desde la sección de descargas del Proyecto Mono (pondrá algo así como Mono el número de la versión seguido de “sources”). Utilizaremos el directorio “/opt” para evitar problemas. Más o menos el proceso de instalación sería:
- Descomprimimos y desempaquetamos el código fuente, gráficamente o mediante la consola: $ tar zxvf mono-X.XX.tar.gz
- Configuramos los archivos para realizar el make: $ ./configure –prefix=/opt/mono
- Ejecutamos make para ejecutar el código fuente: $ make
- Finalmente instalamos: $ sudo make install
Tras la instalación deberemos configurar debidamente las variables de entorno. Para ello ejecutamos desde la terminal:
$ export PATH=$PATH:/opt/mono/bin $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mono/lib $ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/mono/lib/pkgconfig $ export MONO_PATH=/opt/mono/lib
Una vez ya tenemos instalado Mono, pasamos a instalar MonoDevelop de una forma análoga. Accedemos al sitio de MonoDevelop, descargamos el código fuente y:
- Desempaquetamos el código fuente y lo descomprimimos: $ tar zxvf monodevelop-X.X.tar.bz2
- Configuramos para crear el make: ./configure –prefix=`pkg-config –variable=prefix mono`
- Compilamos: $ make
- Instalamos: $ make install
Ya tendríamos esta parte lista, pero como dije antes, mucho mejor utilizar el sistema gestor de paquetes para evitar problemas derivados de no poder actualizar tan fácilmente o por ejemplo, las dependencias insatisfechas.
MySQL
De igual manera instalaremos el servidor MySQL al que nos conectaremos desde nuestra aplicación con C#. Dado que hay gran cantidad de tutoriales y manuales en la red, voy a ser bastante breve. Básicamente deberéis buscar en vuestro gestor de repositorios el paquete mysql-server y ya tendréis el servidor de base de datos instalado.
Conector
Finalmente, descargaremos el fichero con el conector de MySQL para .NET y Mono. Es un fichero con extensión .dll, que es la extensión con que suelen ser almacenados los ensamblados, como es el caso de .NET/Mono. Si queréis saber más sobre ensamblados, el CLI, o cualquier otro detalle más técnico propio de .NET/Mono, podéis visitar la Wikipedia (preferiblemente en inglés) o la MSDN (antes también Mono-Hispano pero ahora mismo parece que no está accesible). Aunque no sea el objetivo de este artículo definiré brevemente dichos conceptos para que quede algo más claro. Podríamos decir que un ensamblado en Mono es un conjunto de clases implementadas junto con sus metadatos correspondientes para ser utilizados, recogidos en un fichero que puede ser llamado desde un proyecto Mono.
En el caso que nos ocupa utilizaremos una implementación de la arquitectura ADO.NET creada por el propio proyecto MySQL para posibilitar una comunicación lo más nativa e integrada posible entre aplicaciones desarrolladas con .NET/Mono y MySQL. El conector, que así se llama, podéis encontrarlo en la web de MySQL (http://dev.mysql.com/downloads/connector/net/).
Una vez nos encontremos en el sitio, descargamos los ficheros para Windows sin instalador (un fichero .zip con varios ensamblados), lo descomprimimos y ya tendremos todo preparado para comenzar el proyecto.
Antes de continuar un detalle importante. Microsoft Windows no es case sensitive, sensible a mayúsculas/minúsculas, en cuanto a rutas, pero GNU/Linux sí lo es, por lo que deberéis renombrar los ficheros dll que utilicemos conforme se llaman en el programa que será: “MySql.Data” en lugar de “mysql.data” como vienen nombrados por defectos (los demás también de manera análoga).