- Este debate está vacío.
-
AutorEntradas
-
13 julio, 2011 a las 7:57 pm #31814Dario ParenteMiembro
Hola gente.
Bueno como es de saber baje el nuevo release 11.05 y me puse a instalarlo desde 0, todos los pasos se realizan bien salvo el paso en el que la instalacion dice.
Luego de instalar el dump, se debe actualizar el sqlj. Para esto nos logueamos al postgre en la base de datos libertya:
pslq -d libertya -U libertya
select sqlj.install_jar(‘file:///ServidorOXP/lib/sqlj.jar’, ‘libertya’, true); select sqlj.set_classpath(‘libertya’, ‘libertya’);
Cuando realizo este paso me tira el siguiente error.
ERROR: cannot change name of input parameter “p_amount”
HINT: Use DROP FUNCTION first.
CONTEXT: SQL statement “CREATE OR REPLACE FUNCTION currencyBase (Amount NUMERIC, C_CurrencyFrom_ID INTEGER, ConversionDate TIMESTAMP WITH TIME ZONE, AD_Client_ID INTEGER, AD_Org_ID INTEGER) RETURNS NUMERIC AS ‘org.openXpertya.sqlj.Currency.base(java.math.BigDecimal,int,java.sql.Timestamp,int,int)’ LANGUAGE java”
ERROR: java.sql.SQLException: No such jar: libertyaBueno nose que es, repito todos los pasos anteriores se instalan bien o al menos no me da nningun error.
Solo pregunto esto tendra que ver con pljava?gracias.
13 julio, 2011 a las 9:08 pm #35898Federico CristinaSuperadministradorBuenas,
Es muy probable que este problema se deba a las actividades de migración de ciertas funciones de PL/Java a PLPGSQL que estuvimos realizando. Específicamente, TODAS las funciones de currency fueron migradas.
Presumo que el error se debe a que la instalación del sqlj.jar implica la definición de la función correspondiente en postgres. Sin embargo para las funciones currency, las mismas ahora ya existen bajo lenguaje plpgsql; y de ahí el error.
Fijate si podés resolver el problema modificando el archivo sqlj.ddr que se encuentra dentro del sqlj.jar. Tenés que comentar (o eliminar) las declaraciones relacionadas con currency, o sea:
Code:/** CurrencyCREATE OR REPLACE FUNCTION currencyBase (Amount NUMERIC, C_CurrencyFrom_ID INTEGER,
ConversionDate TIMESTAMP WITH TIME ZONE, AD_Client_ID INTEGER, AD_Org_ID INTEGER)
RETURNS NUMERIC
AS ‘org.openXpertya.sqlj.Currency.base(java.math.BigDecimal,int,java.sql.Timestamp,int,int)’
LANGUAGE java;CREATE OR REPLACE FUNCTION currencyConvert (Amount NUMERIC, C_CurrencyFrom_ID INTEGER, C_CurrencyTo_ID INTEGER,
ConversionDate TIMESTAMP WITH TIME ZONE, C_ConversionType_ID INTEGER, AD_Client_ID INTEGER, AD_Org_ID INTEGER)
RETURNS NUMERIC
AS ‘org.openXpertya.sqlj.Currency.convert(java.math.BigDecimal,int,int,java.sql.Timestamp,int,int,int)’
LANGUAGE java;CREATE OR REPLACE FUNCTION currencyRate (C_CurrencyFrom_ID INTEGER, C_CurrencyTo_ID INTEGER,
ConversionDate TIMESTAMP WITH TIME ZONE, C_ConversionType_ID INTEGER, AD_Client_ID INTEGER, AD_Org_ID INTEGER)
RETURNS NUMERIC
AS ‘org.openXpertya.sqlj.Currency.rate(int,int,java.sql.Timestamp,int,int,int)’
LANGUAGE java;**/
Luego intentá a instalar nuevamente el sqlj.jar. Si de esta manera funciona correctamente, por favor hacénoslo saber así corregimos esto en los archivos de descarga.
Saludos,
Federico14 julio, 2011 a las 12:32 am #35899Dario ParenteMiembroSi efectivamente comente las lineas que me dijiste y luego de la compilacion corri el archivo sqlj.jar y no me tiro ningun error.
libertya=# select sqlj.install_jar(‘file:/home/ServidorOXP/lib/sqlj.jar’, ‘libertya’, true); select sqlj.set_classpath(‘libertya’, ‘libertya’);
install_jar
(1 row)set_classpath
(1 row)sigo adelante, gracias.
Dario14 julio, 2011 a las 9:29 am #35916Matías Nerón CapSuperadministradorHola Darío, una consulta, con qué versión de PostgreSQL estás instalando LY? Ese error nunca apareció en las pruebas que hicimos y, al ser un error bastante restrictivo, se me hace que es por ser una versión de Posgtre nuevita…puede ser?
14 julio, 2011 a las 9:08 pm #35900Dario ParenteMiembrosi exacto postgres 9.0.3 en slackware 13.37
29 julio, 2011 a las 2:02 am #35901Dario ParenteMiembroBueno pense que el problema se habia solucionado pero creo que sigue el problema.
Como dije despues de modificar el archivo sqlj.jar he instalarlo y como puse mas arriba no dio error, pense que todo estaba solucionado.
Pero bueno baje un backup de una base que tenia de otra instalacion de libertya que no viene al caso y cuando queria probar la impresion no funciono daba error de llenado del formulario.
Segun otro post que pregunte y federico me trato de ayudar, al no funcionar comence de nuevo desde cero.
Borre todo he instalae libertya 11.05, llegue hasta instalar el archivo corregido sqlj.jar, como dije no me dio error, entonces empece a cargar la base con alguna EC y algun articulo, cuando quiero ingresar una factura me pasa lo que me pasaba cuando no tenia instalado pl/java no podia ver los articulos.
Recorde que en un post me dijeron que realice una consulta para saber si pl/java estaba bien instalado y el cual me debia arrojar como resultado 0.Busque esa consulta y cuando la realizo me da error, algo paso con la instalacion del archivo sqlj.jar
La consulta era:
set search_path to libertya;
SELECT bompricestd (0::Integer,0::Integer) from ad_client;como resultado obtengo:
ERROR: java.lang.ClassNotFoundException: org.openXpertya.sqlj.Product
********** Error **********
ERROR: java.lang.ClassNotFoundException: org.openXpertya.sqlj.Product
Estado SQL:XX000Esto puede ser porque uso postgres 9.0 o porque modifique el sqlj.jar y sigue algun problema, y esto deriva en que no vea los articulos y a la ves no ande la impresion de la factura.
Alguna accion que me aconsejen para seguir probando?
Tendria que cambiar a postgres 8.3.?
Por el momento nose como seguir.gracias.
Dario29 julio, 2011 a las 7:25 pm #35998Matías Nerón CapSuperadministradorHola Darío, si tenés ganas probá en una 8.3, nosotros no hemos hecho ninguna prueba sobre la versión que usas, por lo tanto mucho feedback no podemos darte como para ayudarte.
En el caso que sea eso, comentanos ya que es una prueba que no hicimos y no está nada mal tenerla en cuenta, aunque pljava espero que lo desterremos para la próxima versión.Saludos
Cacho30 julio, 2011 a las 2:02 am #35902Javier AderParticipanteLo raro es que al parecer PL/Java esta bien isntalado (lo reconoce como lenguaje el servidor y esta habilitado para la base de datos en cuestión) , si no le tiraria otro error. Lo que no esta econtrando es o el jar, o la clase (lo cual puede debeser al clashpath usado internamente).
Ejecutaste
select sqlj.install_jar(‘file:/home/ServidorOXP/lib/sqlj.jar’, ‘libertya’, true)
y
select sqlj.set_classpath(‘libertya’, ‘libertya’);Contra la base de datos correcta?
el sql.jar tiene adentro el product.class?
2 agosto, 2011 a las 1:27 am #35903Dario ParenteMiembroBUeno probe con postgres 8.3 y sigue dando error la consulta de pl/java.
Lo que pasa es que esto pasa en una instalacion nueva, la cual ya daba error como dije mas arriba el archivo sqlj, porque habia que comentar ciertas lineas que ya no utilizaria pl/java porque estan portandolo. Lo unico que hice fue comentar lo que me dijeron.
Tendrian que arreglar el archivo sqlj.jar y pasarmelo a ver si soy yo que no lo he compilado bien y ahi esta el error.
dario
2 agosto, 2011 a las 1:42 am #36001Federico CristinaSuperadministradorDarío,
Que raro que no funcione. Ejecutaste las líneas que indica Javier?
Code:select sqlj.install_jar(‘file:///home/ServidorOXP/lib/sqlj.jar’, ‘libertya’, true);
yselect sqlj.set_classpath(‘libertya’, ‘libertya’);(reemplazando file:///home/ServidorOXP/lib/sqlj.jar por la URL en cuestión). Más allá de que tengas correctamente configurado el PL/Java, estas lineas justamente hacen uso de la funcionalidad de PL/Java para cargar la librería con las funciones implementadas.
Saludos!
Federico2 agosto, 2011 a las 2:12 am #35904Dario ParenteMiembroa ver yo lo que hice como dije antes que se me arme una ensalada es lo siguiente maquina nueva, instale libertya 11.05 y acabo de instalar postgres 8.3.
Siguiendo lo procedimientos de instalacion, llego a la parte en la que hago.pslq -d libertya -U libertya
select sqlj.install_jar(‘file:///ServidorOXP/lib/sqlj.jar’, ‘libertya’, true); select sqlj.set_classpath(‘libertya’, ‘libertya’);
ahi dejando el archivo sqlj.jar que trae libertya 11.05 me da el siguiente error.
ERROR: cannot change name of input parameter “p_amount”
HINT: Use DROP FUNCTION first.
CONTEXT: SQL statement “CREATE OR REPLACE FUNCTION currencyBase (Amount NUMERIC, C_CurrencyFrom_ID INTEGER, ConversionDate TIMESTAMP WITH TIME ZONE, AD_Client_ID INTEGER, AD_Org_ID INTEGER) RETURNS NUMERIC AS ‘org.openXpertya.sqlj.Currency.base(java.math.BigDecimal,int,java.sql.Timestamp,int,int)’ LANGUAGE java”
ERROR: java.sql.SQLException: No such jar: libertyaCon lo cual vos me dijiste que debia arreglar ese archivo comentando unas lineas, las cuales no se usaban mas porque ya estaban portadas al nuevo lenguaje.
Lo abro con eclipse comento esas lineas lo compilo, y lo reemplazo por el que estaba en la URL en cuestion.
Vuelvo a ejecutar.pslq -d libertya -U libertya
select sqlj.install_jar(‘file:///ServidorOXP/lib/sqlj.jar’, ‘libertya’, true); select sqlj.set_classpath(‘libertya’, ‘libertya’);
con lo cual me da.
(1 row)set_classpath
(1 row)libertya=#
Supuestamente se instalo bien.
Ahora cuando quiero consultar como una ves me dijiste en pgadmin para ver si esta bien pl/java, en ves de darme como resultado cero me da un error.set search_path to libertya;
SELECT bompricestd (0::Integer,0::Integer) from ad_client;Me da el siguiente error.
ERROR: java.lang.ClassNotFoundException: org.openXpertya.sqlj.Product
********** Error **********
ERROR: java.lang.ClassNotFoundException: org.openXpertya.sqlj.Product
Estado SQL:XX000Por lo que deduzco que algo no se instalo bien y puede estar generado por el archivo sqlj.jar y las funciones que ya estan portadas al otro lenguaje.
por otro lado esto proboca que no vea los articulos para realizar una factura y los problemas con el tpv que dije en otro post creyendo que era un problema de la caja diaria.
Repito esto me pasa en una instalacion de cero en linux slackware.
Otra instalacion que solo realice la actualizacion hasta el momento anda todo bien.3 agosto, 2011 a las 5:16 pm #36002Federico CristinaSuperadministradorQuote:Lo abro con eclipse comento esas lineas lo compiloMe parece que por ahí viene el tema. NO tenés que abrir y remcompilar el .jar, simplemente tenés que modificar el texto dentro del archivo alojado en el .jar y nada más. Si querés, para hacerlo más facil podes descargar los binarios actualizados, con esta pequeña corrección en el sqlj.jar ya realizada.
Slds!
Federico5 agosto, 2011 a las 7:08 pm #35905Dar FariasEspectadorHola gente , les consulto ya que es mi primera instalación . Tengo Centos 6.0 x64 y quisiera instalar la 11.05 , el manual online de instalación hace referencia a la version anterior y los fuentes de postgresql 8.3.7 indicado ya no estan disponibles . Cual es la configuración de paquetes de software actual recomendada y probada para esta versión?
Gracias desde ya.Saludos
Dario F.5 agosto, 2011 a las 7:25 pm #36007Federico CristinaSuperadministradorBuenas,
En cuanto a Java, requiere Java 1.6_x.
En lo que respecta a la versión PostgreSQL, requiere la 8.3.x (al menos con estas versiones verificamos que ejecuta correctamente). Podrías intentar utilizar otra versión de que esté en los repositorios, pero hay que verificar que exista la correspondiente version de PL/Java. Como alternativa podrías bajarte los fuentes de la 8.3.x y compilarlos (no es demasiado complejo).
Saludos,
Federico10 agosto, 2011 a las 8:58 pm #35906Dario ParenteMiembroBueno por el momento voy a decir que si era el sqlj, el cual no me funcionaba bien y bajando la correccion de ustedes de este archivo si me funciono en la instalacion nueva, con postgres 8.3.x, ahora vuelvo a destruir todo y a probar con postgres 9.0.
Despues les comento, si no hay algun problema con el maldito PlJava.saludos.
-
AutorEntradas
- Debes estar registrado para responder a este debate.