Hace poco me encontré con una necesidad… Hacer una ingeniería inversa de una base de datos en MySQL, por cuestiones de trabajo. Por cierto, éste tema es interesante y les recomiendo 2 herramientas para tal objetivo (además, ésta herramientas sirven para el modelado de datos): SQL Power Architect (sencillo, sin configurar ODBC, totalmente funcional en mi Ubuntu 14.04) & Open System Architect, el cuál es más completa pero hay que hacer la configuración del driver ODBC de MySQL y de todo driver que se requiere (dependiendo a donde nos queremos conectar…). Para Windows, el más conocido: Power Designer, pero es privativo!, pero igual, esas dos joyas mencionadas anteriormente se pueden instalar en Windows también 😛
Lo primero es instalar unixodbc y unixodbc-bin para tener las herramientas necesarias para poder configurar de manera relativamente sencilla las ODBC’s. Ésto lo hacemos así:
sudo apt-get install unixodbc unixodbc-bin
Ok, tenemos la base… ahora, debemos de descargar el driver de MySQL… Lo primero que se me vino a la mente, es buscar en el sitio de unixodbc y pues éste sitio me indicó que el driver se encontraba en el sitio oficial de MySQL ¬¬ o sea, un poco obvio… pero bueno, Aquí lo pueden descargar PEROOOO… al final, no lo hice de ésta manera… me fuí por el camino fácil luego de darle vueltas un rato al internet, encontré éste paquete para instalar:
sudo apt-get install libmyodbc
Con esto ya tengo instalado el driver ODBC del MySQL 🙂
Ahora falta «registrarlo» en el Sistema… Si no se registra el driver, pues prácticamente no puedes crear ninguna ODBC (parecido pasa en Windows, pero más transparente para el usuario dado que generalmente no hay necesidad de registrar un driver ODBC sino que ya los tiene pre-registrados). Ejecutamos la siguiente línea:
sudo odbcinst -i -d -f /usr/share/libmyodbc/odbcinst.ini
Éste registro se puede hacer mediante la herramienta gráfica con la que crearemos la ODBC, pero lo hice así dado que a veces suele confundir la configuración gráfica (especialmente cuando esta cosa la haces una vez después de muucho tiempo… por eso es bueno tener en alguna bitácora para poder ir guardando líneas de comando como esta).
Ahora vamos a crear la ODBC que nos servirá para conectarnos a un servidor MySQL para que así el Open System Architect pueda conectarse y hacer la ingeniería inversa que tanto quería. Lo hacemos así:
sudo ODBCManageDataSourcesQ4
Por cierto, el HUD del unity de Ubuntu, no encuentra ésta aplicación por lo que hay que investigar un poquito para poder acceder a ella… no solo es de instalar y Ya. Continuando, nos aparecerá una ventana, y de paso, les muestro la opción (Avanced) donde se puede registrar un driver..
La opción que nos interesa es la de «Data Source Names» y desde aquí podemos crear un ODBC de Usuario, Sistema o Archivo; para nuestro ejemplo, crearemos una de usuario. Aquí, daríamos clic en «Add» para agregar un nuevo orígen de datos ODBC.
Nos preguntará qué driver usaremos para la creación de la ODBC. Obviamente, utilizaremos la que creamos… la de MySQL.
Ahora, los datos conocidos… pondremos la información de nuestra ODBC respectiva. Quizás el debido cuidado lo tendríamos que tener en el campo «Server» (donde pondremos la IP o nombre del servidor MySQL) y el de Database. Damos clic en Ok.
Ahora ya podemos ver nuestro orígen de datos ODBC y damos clic Ok.
Ahora si, tenemos la ODBC lista para usarlo en cualquier programa que lo requiera. Podría ser un IDE para conectarse a una BD, o tal vez, como en mi caso, usar Open System Architect? ustedes dirán.
Saludos!
Gracias me sirvio de mucho.
Muchas gracias, todo bien hasta que coloqué el ODBCManageDataSourcesQ4
me da un error..
Al colocarlo me sale
(process:5003): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Gtk-Message: Failed to load module «canberra-gtk-module»
(ODBCManageDataSourcesQ4:5003): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Qt: Session management error: None of the authentication protocols specified are supported
(ODBCManageDataSourcesQ4:5003): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
a que se puede deber? como puedo solucionarlo? gracias de antemano.
como puedo hacer la ingenieria inversa?
Hola. Para la ingenieria inversa, si se trata de una BD en MySQL, te recomiendo el MySQL Workbench. Saludos!
Hola bro, oye tienes idea de como configurar un ODBC pero todo desde comandos? mi problema es que yo no tengo acceso al server como tal y accedo a el desde la herramienta Putty