• Este debate está vacío.
Viendo 15 entradas - de la 1 a la 15 (de un total de 21)
  • Autor
    Entradas
  • #31814
    Dario Parente
    Miembro

    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: libertya

    Bueno 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.

    #35898
    Federico Cristina
    Superadministrador

    Buenas,

    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:
    /** Currency

    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;

    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,
    Federico

    #35899
    Dario Parente
    Miembro

    Si 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.
    Dario

    #35916
    Matías Nerón Cap
    Superadministrador

    Hola 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?

    #35900
    Dario Parente
    Miembro

    si exacto postgres 9.0.3 en slackware 13.37

    #35901
    Dario Parente
    Miembro

    Bueno 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:XX000

    Esto 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.
    Dario

    #35998
    Matías Nerón Cap
    Superadministrador

    Hola 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
    Cacho

    #35902
    Javier Ader
    Participante

    Lo 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?

    #35903
    Dario Parente
    Miembro

    BUeno 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

    #36001
    Federico Cristina
    Superadministrador

    Darí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!
    Federico

    #35904
    Dario Parente
    Miembro

    a 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: libertya

    Con 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:XX000

    Por 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.

    #36002
    Federico Cristina
    Superadministrador
    Quote:
    Lo abro con eclipse comento esas lineas lo compilo

    Me 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!
    Federico

    #35905
    Dar Farias
    Espectador

    Hola 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.

    #36007
    Federico Cristina
    Superadministrador

    Buenas,

    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,
    Federico

    #35906
    Dario Parente
    Miembro

    Bueno 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.

Viendo 15 entradas - de la 1 a la 15 (de un total de 21)
  • Debes estar registrado para responder a este debate.