cita

Man is least himself when he talks in his own person. Give him a mask, and he will tell you the truth.
Oscar Wilde

dissabte, 16 de juliol del 2011

Error en accedir a base de dades amb OpenbravoPOS en Ubuntu

Sembla ser que les noves versions de OpenbravoPOS no els acaba d'agradar Ubuntu. He pogut comprovar que si intentem iniciar el programa apareix un error dient que no ha pogut trobar el driver de la base de dades, independentment de si voliem fer servir MySQL o Derby.

L'error que apareix és el seguent:
Database manager message
DNG_00_0000
Danger: Cannot connect to database. Database driver not found.
com.openbravo.basic.BasicException:
Cannot connect to database. Database driver not found.

java.lang.ClassNotFoundException:
com.mysql.jdbc.Driver



La solució passa per canviar la versio de Java que ha de fer servir Ubuntu, doncs sembla que la versió que inclou Ubuntu 10.10 i 11.04, l'openJDK no és compatible amb els connectors de les bases de dades de Java que necessita OpenbravoPOS.

Podem saber quina versió de Java tenim instal·lada fent servir la comanda
java -version


I ens retornarà un missatge semblant a aquest;
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.8) (6b20-1.9.8-0ubuntu1~10.10.1)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)


Abans de res, hem d'assegurar que la configuració del programa és la correcte, si ens volem connectar a un servidor amb una base de dades MySQL, tindrem una configuració semblant a aquesta;
driver library -> /opt/openbravopos-2.30.2/lib/mysql-connector-java-5.1.17-bin.jar
driver class -> com.mysql.jdbc.Driver
URL -> jdbc:mysql://IPservidor:3306/nomTaulaBBDD
A driver library li hem de dir on tenim el connector per a Java de MySQL

Passem a solucionar el problema;
Primer de tot ens hem de descarregar la versió de Java JRE que trobarem a la página oficial.
Java JRE -> http://www.java.com/en/download/manual.jsp?locale=en

Instal·lem el paquet (6u26 és la versió en què he treballat jo, canvieu per quina correspongui);
sudo ./jre-6u26-linux-i586.bin


I llavors movem la carpeta que ens crea a la ruta on tenim el Java dins del sistema Ubuntu;
sudo mv jre1.6.0_26 /usr/lib/jvm


Finalment, li diem a Ubuntu quina versió de Java volem que faci servir;
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre1.6.0_26/bin/java" 1

sudo update-alternatives --set java /usr/lib/jvm/jre1.6.0_26/bin/java


Tot i que també podem escollir la versió de java amb el comandament;
update-alternatives –config java

There are 2 choices for the alternative java (providing /usr/bin/java).

Selecció Camí Prioritat Estat
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 mode automàtic
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 mode manual
* 2 /usr/lib/jvm/jre1.6.0_26/bin/java 1 mode manual

Premeu retorn per a mantenir l'opció per defecte[*], o introduïu un número de selecció:


Si tornem a comprovar quina versió de Java fem servir, podreu comprovar si ha funcionat el procés o no;
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)


Ara ja podem iniciar el programa OpenbravoPOS i veureu que no ens apareix cap error de connexió a la base de dades o del seu driver.

Font original, fòrum Guia-Ubuntu.org -> http://www.guia-ubuntu.org/index.php?title=Java

1 comentari:

Bitacoras.com ha dit...

Información Bitacoras.com...

Valora en Bitacoras.com: Sembla ser que les noves versions de OpenbravoPOS no els acaba d’agradar Ubuntu. He pogut comprovar que si intentem iniciar el programa apareix un error dient que no ha pogut trobar el driver de la base de dades, independen......