jump to navigation

Compilar TORA con soporte de Oracle Marzo 23, 2007

Posted by superpiwi in Bases de datos, Oracle, Programacion, Ubuntu.
trackback

En un post anterior comente como instalar Toad mediante wine, pero si no dispones de este Software tambien puede optar por una alternativa como TORA.

tora_oracle_01.jpg

El problema que nos encontramos es que si instalamos el Tora mediante apt-get:

sudo apt-get install tora

La version que instalamos no lleva incluido el soporte para Oracle. La solucion es descargar los fuentes, activar la opcion en los flags de compilacion y compilarlo de nuevo para nuestro entorno. Vamos a ello.

Primero, necesitas tener instalado el cliente de oracle, porque en la compilacion necesita linkar con sus librerias. Para instalarlo leete el post anterior a este.

Los pasos para instalar y compilar Tora son los siguientes:

1. Instalate el tora para poder instalarte a la vez las dependencias que necesites si no las tienes:

apt-get install tora

2. Obten el codigo fuente:

cd /usr/src
apt-get source tora

y te metes en el directorio generado.

3. Instala los siguiente paquetes necesarios para la compilacion:

apt-get install g++ gcc autoconf automake flex zlib1g-dev docbook-xsl
apt-get install libqt3-mt-dev libqt3-compat-headers

4. Ahora modifica el fichero “debian/rules

Busca esta linea:
./configure –prefix=/usr –without-oracle –without-rpath –disable-new-check –with-kde –enable-libsuffix=
y la reemplazas por esta:
./configure –prefix=/usr –with-instant-client –without-rpath –disable-new-check –without-kde –enable-libsuffix=

(nota: si lo quieres para KDE activa -with-kde, aunque en este post yo no he podido comprobar si funciona correctamente, yo he compilado para gnome)

5. Compilamos…Para ello ejecutamos el comando:

debian/rules binary

6. El proceso tarda un poco. Si no ha habido ningun problema ya tienes el .deb generado en el directorio superior.

cd ..

7. Desinstalamos la version previa e instalamos la nueva.

apt-get remove tora
dpkg -i tora_1.3.21-3ubuntu1_i386.deb

8. Finalizado. Ya tenemos tora instalado en el sistema. si queremos probarlo ejecutamos:

tora &

Nota, si no quieres compilar. En este enlace te puedes descargar un binario precompilado. Pero no te aseguro que te funcione correctamente si te falta alguna dependencia. Yo te aconsejo mejor que lo compiles para tu plataforma.

Importante: Si al ejecutar Tora solo puedes conectar a bases de datos Oracle, no te aparece la opcion de MySql ni de Postgres, necesitas intalar el siguiente paquete:

apt-get install libqt3-mt-mysql

Esto es asi porque:

Tora (”Toolkit for Oracle”) is a GUI-based database development program, offering SQL worksheets and a database browser.
The application uses plugins for its “connection providers”; make sure you have qt-ODBC installed, plus qt-MySQL or qt-PostgreSQL if you use mysql or postgresql databases.

Mas informacion

Comentarios»

1. Junior - Abril 12, 2007

Olá! Desculpe o português, mais uma vez. Mais uma vez, parabéns pelo artigo, simples e prático. Só queria deixar registrado um erro que ocorreu comigo no Debian Testing (Lenny no caso), onde faltou instalar a libqscintilla-dev (apt-get install libqscintilla-dev). Outra observação é que com a opção -without-kde a interface fica muito feia. Também estou usando o Gnome.

2. Junior - Abril 13, 2007

Voltei! Depois de tudo pronto e instalado, funcionou legal, mas ficou pendente para atualizar o tora e aí volta ao que tinha antes. Para resolver isso, editei o arquivo debian/changelog, inserindo no topo essas linhas:

tora (1.3.21-3oracle) unstable; urgency=high

* Added Oracle Instant Client support, thanks superpiwi (Ubuntu Life)

— Claudio Polegato Junior Fri, 13 Apr 2006 10:20:30 -0300

e então repeti o processo a partir do comando debian/rules binary, sendo que o nome do pacote mudou de tora_1.3.21-3_i386.deb para tora_1.3.21-3oracle_i386.deb, isso com Debian Lenny. Com Ubuntu (ainda não testei) seria interessante, se tiver o mesmo problema, em vez de colocar 1.3.21-3oracle1, colocar 1.3.21-3ubuntu1oracle.

Abraços.

3. claucookie - Mayo 16, 2007

Wolas, he seguido tu tutorial con Ubuntu Feisty, y al escribir en la consola:
debian/rules binary
me sale este mensaje :
“dh_testdir
dh_testdir: cannot read debian/control: No existe el fichero ó directorio

make: *** [configure-stamp] Error 1″

y no puedo seguir :S sabes porque puede ser debido?

4. superpiwi - Mayo 17, 2007

Vaya, no sabria decirte. En Feisty no lo compile. Lo que comento es para Edgy y en mi caso funciona tal cual. Si lo pruebo en Feisty ya te comentare. De todas formas he visto esta pagina y comenta que le pasa algo parecido compilando otro programa.

http://www.velug.org.ve/archivo/l-linux-2006-September/060585.html

Lo que el hace es esto:

dh_testdir: cannot read debian/control: No existe el fichero o el directorio

make: *** [clean] Error 1
lanx:/usr/src/modules/freeswan#
==================================================
el mensaje es claro, no encuentra el archivo control que segun la guía
del desarrollador lo utiliza dpkg y deselect para gestionar el paquete,
pero no se como avanzar y procedi a renombrar el archivo
debian/control.in por debian/control

———

Prueba a ver si te pudiera servir a renombrar el fichero control.in por control y volver a compilar.

5. cato - Junio 6, 2007

claucookie,

Debes instalar el paquete dh-make…

Gracias Superpiwi.

Saludos,

6. superpiwi - Junio 8, 2007

Gracias a ti, por la tan buena informacion adicional para conseguir compilar Tora. En mi caso no lo necesite, pero ya debia de tenerlo instalado. Es bueno conocer el aporte. Thx.

7. kutral - Junio 27, 2007

Hola, tengo el siguiente problema al momento de ejecutar el comando debian/rules binary

./rules:22: *** las instrucciones comenzaron antes del primer objetivo.

Alguien tiene idea de lo que puede ser? gracias de antemano.

8. Kutral - Junio 29, 2007

hola pude resolver el problema anterior de mi post, pude compilar de tora me genero el archvio .deb pero despues de instalarlo aun me sale solo coneccion a postgreSQl, alguien sabe que puede ser?

9. Minning - Julio 10, 2007

Kutral, cómo pudo resolver el problema : “”./rules:22: *** las instrucciones comenzaron antes del primer objetivo.”"

Llevo 3 días tratando de resolverlo. Agradeceré mucho tu respuesta

10. Marcel - Julio 25, 2007

No está mal pero ¿a ti te parece lo mismo –with-instant-client y –with-instantclient? Con el primero es muy poco probable que no funcione…

11. Marcel - Julio 25, 2007

superpiwi, perdona la ironia de mi última frase, pero instantclient es ya una expresión más que consagrada para meter un “-” por medio.

12. Teo - Agosto 31, 2007

superpiwi, gracias por la ayuda ejecute el instructivo, y Tora funciona…

13. Teo - Agosto 31, 2007

estoy con el tema de hacer funcionar php con oracle, si hay alguna ayuda bien venida

14. superpiwi - Septiembre 1, 2007

Vaya de php no controlo nada. Sorry :-(

15. joaquin - Octubre 22, 2007

como hacer funcionar php con oracle es nesesario instalar un componente adicional o solo es nesesario configurar y como se deve configurar, si hay aluga persona que sepa ayudenme.

16. lnhidalgo - Noviembre 13, 2007

Como hacer para poder actualizar TOra y no perder la funcionalidad con ORACLE

17. superpiwi - Noviembre 27, 2007

pues creo que ya no sacan actualizaciones. si me equivoco no veo otra forma que compilar de nuevo con los nuevos sources. Es que en principio, los desarrolladores no sacan el soporte de Oracle en Tora, debes habilitar los flags en la compilacion.

18. Alexandra - Diciembre 9, 2007

Disculpa me puedes decir como funciona tora y como ingreso las variable si son de movimiento.Muchas gracias lo necesito

19. Fran - Diciembre 10, 2007

Hola muy interesante tu blog y este tuto, pero he tenido un error, a ver si me le podéis solucionar: he seguido todos los pasos al pie de la letra, pero al llegar al debian/rules binary me da este error al final:

checking for oracle… configure: error: /usr/include/oracle/xe/client doesn’t exist. Please install the sdk package or use –oracle-includes.
make: *** [configure-stamp] Error 1

Ya he revisado todo y no doy con ello, el cliente le tengo en la dirección: /usr/lib/oracle/xe/app/oracle/product/10.2.0/client

Muchas gracias por cualquier tipo de ayuda ;)

20. Alvarenga - Enero 19, 2008

Hola, tengo el mismo error que Fran, si ya lo resolviste podrías postear como?.

21. rodrigoalj1 - Febrero 15, 2008

Me sumo al error de Fran y Alvarenga, tengo el mismo error
checking for oracle… configure: error: /usr/include/oracle/xe/client doesn’t exist. Please install the sdk package or use –oracle-includes.
make: *** [configure-stamp] Error 1

el cliente le tengo en la dirección: /usr/lib/oracle/xe/app/oracle/product/10.2.0/client

Tratare de resolverlo …pero si alguien lo logra. Agradeceria que compartieran la solucion.

22. Carlos - Febrero 17, 2008

Buenas:
Para evitar el problema yo he cambiado la linea:

./configure –prefix=/usr –with-instant-client –without-rpath –disable-new-check –without-kde –enable-libsuffix=

por:

./configure –prefix=/usr/ —-with-oci-version=10G –without-rpath –disable-new-check –without-kde –enable-libsuffix=

espero que os ayude.

23. Carlos - Febrero 18, 2008

En caso de tener instalado oracle XE como servidor, usar la siguiente linea.

./configure –with-xinerama –with-oracle –enable-plugin –prefix=/usr –without-kde

Así tendreis instalado también pl sql debugger.

Tener en cuenta que para realizar la instalación ha de estar configurada la variable de entorno ORACLE_HOME y LD_LIBRARY_PATH=$ORACLE_HOME/lib

Un saludo.

PDT: Yo no he generado un .deb, directamente lo he instalado con ./configure(el anterior comentado) y make install.

24. Mauricio Jovel - Febrero 19, 2008

Hola que tal, pues estaba tratando de seguir el tutorial, pero tuve problemas ya que me dice que tengo que agregar mas uris al momento de querer bajar los codigos fuentes, cuales son esas uris extras.

25. Carlos - Febrero 19, 2008

Pues no se bien que me comentas, describe un poco mas el problema o muestra un log a ver si te puedo ayudar.

26. isnaju - Julio 30, 2008

tengo el siguiente error,

las instrucciones comenzaron antes del primer objetivo

alguien sabe como resolverlo?

Muchas Gracias