Continuando con la entrada anterior, seguí configurando mi laptop recién reinstalada y ahora me encontraba enfrentando una sangrienta batalla con la instalación de DBDesigner… (bueno, bueno… no fue tan sangrienta… ;-P).
DBDesigner es una herramienta de las llamadas como “CASE” (Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora) para el diseño de bases de datos, en lo personal es una herramienta muy útil (pensando que sobretodo es Libre…) tengo entendido que trabaja con varias bases de datos como Oracle, SQLite, ODBC, pero sobretodo con nuestro preferido MySQL, dándole a este último la robustez necesaria para posicionarlo a nivel de otras arquitecturas propietarias cuando de herramientas de diseño se habla.
Antes de que conociera esta herramienta, constantemente me preguntaba por que MySQL no tiene una herramienta de diseño como SQLServer de Micro$oft, pero con todo y las preguntas no me rendía y seguía trabajando con MySQL, pero no intento cansar con mis experiencias así que mejor nos enfocamos a nuestro objetivo.
Buscando en la red como instalar esta herramienta me encontré con la pagina de “El blog de ERiDeM” donde describe claramente la instalación de esta herramienta pero con todo y la buena descripción a mi no me funcionaba, no podía hacer conexión con MySQL y revisaba la instalación, la volvía a hacer y seguía sin funcionar, así que voy a intentar resumir los pasos de la instalación y al final les comento el pequeñisimo detallito que faltaba para que funcione.
Primero creamos un directorio en nuestro home.
# cd ~
# mkdir tmp-dbd
# cd tmp-dbd
Ahora descargamos el DBDesigner, las xlibs, las librerías de Kylix y el driver de MySQL
# wget http://downloads.mysql.com/DBDesigner4/DBDesigner4.0.5.4.tar.gz
# wget http://www.silcom.com.pe/soft/xlibs_6.8.2-77_all.deb
# wget http://heanet.dl.sourceforge.net/sourceforge/kylixlibs/kylixlibs3-borqt_3.0-1_i386.deb
# wget http://crlab.com/dbx/dbxmda.tar.gz
Instalamos antes las xlibs y las librerías de kylix…
# sudo dpkg -i xlibs_*.deb
# sudo dpkg -i kylixlibs*.deb
# sudo ln -s /usr/lib/kylix3/libborqt-6.9-qt2.3.so
# sudo ldconfig
# sudo ln -s /usr/lib/kylix3/libborqt-6.9.0-qt2.3.so /lib/libborqt-6.9-qt2.3.so
Y con eso ya estamos listos para instalar DBDesigner, en lo personal me gusta tener los programas que instalo manualmente en el directorio de /usr/local/ por lo que nos vamos a ese directorio para descomprimir el archivo que bajamos.
# cd /usr/local
# tar zxvf ~/tmp-dbd/DBDesigner4.0.5.4.tar.gz
Con esto ya estamos listo para ejecutar nuestro DBDesigner, solo falta instalar el driver para conectar con MySQL.
# cd ~/tmp-dbd
# tar -zxvf dbxmda.tar.gz
# sudo mv DbxMda/libsqlmda.so.4.40 /usr/lib
# sudo ldconfig
Ahora si ya estamos listos… podemos ejecutar con el siguiente comando.
# /usr/local/DBDesigner4/DBDesigner4
Y seguimos configurando…, cuando te vayas a conectar a una base de datos seleccionamos la opciones del menú Database -> Connect to Database en el cuadro de dialogo seleccionamos el botón New Database Connection, especificamos el nombre de la conexión, el hostname del servidor (por ejemplo: localhost), el nombre de la base de datos, el usuario y la contraseña, aquí es importante que la base de datos ya este creada para que se pueda hacer la conexión, en mi caso he probado y si no la creo antes no logro hacer conexión, mi razonamiento era de que también sería capaz de crear la base de datos cuando se realiza la conexión, pero no lo hace… (espero que no se el único que haya pensado eso…). Después seleccionamos la pestaña de Advanced y configuramos dos valores LibraryName y VendorLib en ambos valores los especificamos con el valor de libsqlmda.so.4.40
Hasta aquí es lo que especifica el El blog de ERiDeM, pero en mi caso no podía lograr que DBDesigner me conectara con la base de datos me enviaba el error de“Connection to database failed. Unable to Find Procedure getSQLDriverMYSQL” después de estar de terco presionando botones para que se conectara le puse atención al mensaje, como iluminación divina se me ocurrió que “MYSQL” se escribe con la “Y” en minúscula, por lo que lo intente al final de cuentas no perdía mucho y sorpresa que funciona, este valor se especifica en la configuración de la conexión de la base de datos en la pestaña de Advanced en el campo de GetDriverFunc se especifica getSQLDriverMySQL, pulsamos el botón Ok y despúes Connect y listo… podemos empezar a diseñar nuestra base de datos y sincronizarla.
Ahora voy a poner unos tips si no quieres escribir toda la ruta para el script de ejecución o si quieres agregar el DBDesigner en el menú de Aplicaciones->Programación, primero creamos un enlace simbólico en /usr/bin
# cd /usr/bin
# sudo ln -s /usr/local/DBDesigner4/DBDesigner4 DBDesigner4
Con esto podrás ejecutarlo sin importar el directorio donde éstes… solo bastará con
# DBDesigner4
para agregarlo al menú, necesitamos crear el archivo /usr/share/applications/dbdesigner4.desktop
# sudo vi /usr/share/applications/dbdesigner4.desktop
Y agregamos el siguiente contenido
[Desktop Entry]
Name=DB Designer 4
Comment=Database Designer
Exec=DBDesigner4
Icon=/usr/local/DBDesigner4/Gfx/Icon48.xpm
Terminal=false
Type=Application
StartupNotify=true
Categories=Development;
Guardamos… y listo ya tenemos la entrada en el menú Aplicaciones->Programación