viernes, 29 de mayo de 2015

Oracle en Linux - Instalación de cx_Oracle (I)

A alguno de vosotros, igual habéis tenido que trabajar con Oracle des de un sistema Linux. Para ello, Oracle pone a disposición un OracleInstantClient y diferentes herramientas que no son nada más que conectores para que otros programas tengan los Drivers adecuados para conectarse a la Base de Datos.

Últimamente, en mis desarrollos con Python, tengo que trabajar con Oracle y siempre estoy buscando diferentes maneras de instalar los drivers y el cliente "estandard" de Python, y aunque no es complejo, si que hay que seguir una serie de pasos.

Así que he desarrollado un pequeño FAQ

Primero de todo, descargar de Oracle:

Basic Drivers



InstantClient SDK 




OraclePlus


Nota:
Os va a pedir que os registréis, es gratuito y no hay ningún problema en hacerlo.

Una vez descargado, recomiendo descomprimir todos los archivos en

/opt/oracle/instantclient/


Configuración de entorno:

Podemos encontrar problemas a la hora de instalar mediante PIP, el paquete cx_Oracle, para ello es necesario antes que nada en crear softlinks de las diferentes librerias que va a necesitar para compilar el paquete :

# cd /opt/oracle/instantclient/
# ln -s libclntsh.so.12.1 libclntsh.so
# ln -s libocci.so.12.1 libocci.so


Por otro lado, antes de instalar cx_Oracle, es necesario también crear la variable de entorno $ORACLE_HOME apuntando al directorio arriba mencionado

# echo $ORACLE_HOME
/opt/oracle/instantclient
# env | grep ORACLE_HOME
ORACLE_HOME=/opt/oracle/instantclient
# sudo pip install cx_Oracle
Downloading/unpacking cx-Oracle
Running setup.py egg_info for package cx-Oracle
    
Installing collected packages: cx-Oracle
  Running setup.py install for cx-Oracle
    building 'cx_Oracle' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/opt/oracle/instantclient/sdk/include -I/usr/include/python2.7 -c cx_Oracle.c -o build/temp.linux-x86_64-2.7-12c/cx_Oracle.o -DBUILD_VERSION=5.1.3
    In file included from /opt/oracle/instantclient/sdk/include/oci.h:3488:0,
                     from cx_Oracle.c:10:
    /opt/oracle/instantclient/sdk/include/ociap.h:10858:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
    /opt/oracle/instantclient/sdk/include/ociap.h:10864:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
    In file included from /opt/oracle/instantclient/sdk/include/oci.h:3491:0,
                     from cx_Oracle.c:10:
    /opt/oracle/instantclient/sdk/include/ocixmldb.h:208:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
    gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7-12c/cx_Oracle.o -L/opt/oracle/instantclient -lclntsh -o build/lib.linux-x86_64-2.7-12c/cx_Oracle.so
    
Successfully installed cx-Oracle
Cleaning up...


Para comprobar que esta correctamente instalado, iniciamos python des de un terminal de interprete y ejecutamos : 

# python
Python 2.7.3 (default, Mar 13 2014, 11:03:55) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> help(modules)

Buscamos el módulo cx_Oracle en la lista para confirmar que esta instalado.  

A partir de aquí, en la siguiente entrega, comentaremos como crear un programa para conectarnos a Oracle.

FAQ: 

Puede ser que salga un error a la hora de cargar una libreria dinamica de oracle.

Solución: 

# echo "/opt/oracle/instantclient" > /etc/ld.so.conf.d/oracle.conf
# ldconfig




jueves, 27 de octubre de 2011

Fires St. Narcís 2011 App

Ja està disponible la aplicació de Fires St. Narcís 2011 a l'Android Market.


Fires Sant Narcís 2011


Fen un sol click podràs:

* Consulta les activitats segons el dia
* Accés directe a les activitats del dia amb un sol click
* Filtrar per categoria o espai d’activats
* Comparteix on estàs amb els teus amics (integració amb xarxes socials)
* Geolocalitza el lloc on es fa cada activitat


Amb aquesta aplicació, tindràs tota la informació de les activitats disponibles des del 28 d’Octubre fins el 6 de Novembre a la ciutat de Girona. 

Treu el màxim partit al teu terminal Android, amb tota la informació del programa de fires a l’abast de la mà. Digues adeu al paper!


Accés directe a l'Android Market: 

miércoles, 23 de marzo de 2011

Instalación de Firefox 4.0 en Ubuntu 10.10




Ya estamos en medio de las actualizaciones de Firefox en todas las máquinas de casa. Ahora mismo se ha pasado ya la barrera de l0s 5 millones de descargas según la página oficial.

Si quieres tener la última versión del software en tu Ubuntu 10.10 tan solo hace falta 3 comandos:

$ sudo add-apt-repository ppa:mozillateam/firefox-stable
$ sudo apt-get update

$sudo apt-get install firefox

Y ya tendremos la nueva versión de Firefox instal·lada correctamente.


martes, 1 de febrero de 2011

Tablets: Funcionalidad Real




Una de las conversaciones más habituales que escuchamos más recientemente los que nos dedicamos al mundo de la IT es sobre las famosas tablets y concretamente el Ipad. Que vaya por delante que no tengo ningún prejuicio sobre la famosa marca de la manzana, es más, soy un consumidor más de sus productos (una de mis posesiones es un Macbook Pro, y ha mucha honra!).

Mi primera opinión sobre los tablets es su funcionalidad real. Es decir, para que realmente los vamos a utilizar. Y no hablo de lo que nos quieren vender los expertos si no la necesidad REAL de utilizar un tablet para nuestras tareas quotidianas, sean personales o profesionales. Es cierto que hay mucha gente que tiene un Ipad y la mayoria te dirá que lo utiliza exhaustivamente pero realmente ha cambiado nuestra manera de trabajar?

Es cierto, los smartphones empezaron principalmente como la entronización de nuestra agenda personal del ordenador y trasladarla al dispositivo portátil. Y durante un tiempo fue suficiente. Pero llego Apple y cambió las tornas. Presento un Iphone y el mundo de la telefonía móvil cambió radicalmente. La llegada de Android es un hecho posterior a la explosión. Y se ha descubierto que no hay vuelta atrás.

Las últimas estadísticas ya dicen que el Ipad ha perdido cuota de mercado gracias a competidores como Samsung (y su Galaxy Tab) y la que aún nos ha de venir encima con el PlayBook de BlackBerry. Pero, yo aún dudo si no será una moda pasajera como los famosos netbooks.

El tiempo nos dará la razón

Imagen Creative Commons extraida de Flickr