Firebird21

Por favor ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Búsqueda Avanzada  

Noticias:

Nuevo Post: "Evitando que el tamaño de la Base de Datos se incremente demasiado" checalo en Firebird21.wordpress.com

Páginas: [1] 2 3 ... 10
 1 
 en: Abril 25, 2018, 09:24:17 pm 
Iniciado por Oz Fox - Último mensaje por Oz Fox
Compañero, esta BD viene de la version Firebird 2.5.5 y le hice el Backup, instalamos la version 3.0.3 y le realice el Restore sin mostrar ningun mensaje de error, ahora al registrar la BD o al tratde crear una BD nueva, me aparece ese mensaje.

 2 
 en: Abril 25, 2018, 02:56:32 pm 
Iniciado por ADONAIRAFA - Último mensaje por ADONAIRAFA
Saludos !!!

Muchas Gracias Walter  !!! Muy buenos enlaces...
Bueno, encontré una forma de interceptar el mensaje de error "personalizado" desde la App...

He aquí el código (el mismo que el anterior, agregué el operador NOT al EXISTS e invertí el lugar de las instrucciones en el IF-ELSE):
Código: [Seleccionar]
CREATE PROCEDURE BUSCAR_X_IDRESIST(
        B_ID_COMPONENTE INTEGER)
RETURNS(
        B_CODIGO CHAR(25),
        B_COMPONENTE VARCHAR(100),
        B_DESCRIPCION VARCHAR(500),
        B_CANTIDAD INTEGER,
        B_PRECIO_UNITARIO DECIMAL(15, 2),
        B_MENSAJE VARCHAR(150))
AS
BEGIN
IF(NOT EXISTS(SELECT * FROM Resistencias WHERE Id_Componente=:B_Id_Componente)) THEN
        B_Mensaje='Este Id/Codigo NO EXISTE...!';
        ELSE
            FOR SELECT
                Id_Componente,
        Codigo,
        Componente,
                    Descripcion,
                        Cantidad,
                    Precio_Unitario
        FROM Resistencias
        WHERE Id_Componente=:B_Id_Componente
        INTO
        :B_Id_Componente,
:B_Codigo,
                    :B_Componente,
                    :B_Descripcion,
                        :B_Cantidad,
                    :B_Precio_Unitario DO
        BEGIN
        SUSPEND;
        END
END

Entonces testeo el SP desde la App, le envio una ID, si está registrada, la muestra y si no, muestra el mensaje de error personalizado...

Quizás, la solución sea poco ortodoxa, pero me funciona... Ahora, mi pregunta: Podría ser ésta, eficiente?



Saludos !!!

Manuel F. Borrego Sterling 8)
Puerto La Cruz, Edo. Anzoátegui. Venezuela.
[Mientras esta extraña y extremadamente tóxica
mutación de virus gubernamental nos
permita seguir comunicándonos]...
DIOS permita que hallemos muy pronto la cura...

 3 
 en: Abril 24, 2018, 10:29:42 am 
Iniciado por oskarssj5 - Último mensaje por oskarssj5
Hola a tod@s,

He estado montando un entorno de pruebas de nuestra aplicación en producción (servidor de Firebird 3.0.3 bajo Windows Server) en un servidor Linux (Servidor Firebird 3.0.3 en CentOS), y al ejecutar la aplicación, y después de loguearme en ella, obtengo el siguiente error:

"Error no Firebird EUniError"

¿Sabéis a que puede ser debido?

Saludos.

 4 
 en: Abril 23, 2018, 08:25:04 pm 
Iniciado por Raul - Último mensaje por Raul
Soy nuevo en este gestor ..

 5 
 en: Abril 23, 2018, 10:09:39 am 
Iniciado por MarianoPoli - Último mensaje por MarianoPoli
Se me presenta el siguiente inconveniente:
Tengo un campo VARCHAR en una tabla que está definido como Charset UTF8 y Collate UTF8
Cuando hago un INSERT de un string con que tiene un caracter con acento o una ñ me da error
Pero cuando hago un UPDATE de un string con un string con un caracter con acento o con una ñ me lo toma bien sin dar error
Como soluciono el INSERT para que se puedan insertar valores en el campo que tengan caracteres con acento ?
Gracias

 6 
 en: Abril 21, 2018, 12:45:49 pm 
Iniciado por Raul - Último mensaje por Walter
¿Qué es exactamente lo que quieres saber, puedes ser más específico?

Saludos.

Walter.

 7 
 en: Abril 21, 2018, 12:43:37 pm 
Iniciado por ADONAIRAFA - Último mensaje por Walter
En Firebird los errores que ocurren dentro de un stored procedure se devuelven mediante una excepción. En el blog hay varios artículos sobre ese tema, entre ellos:

    https://firebird21.wordpress.com/2013/03/17/entendiendo-las-excepciones/

    https://firebird21.wordpress.com/2013/09/16/capturando-excepciones/

    https://firebird21.wordpress.com/2013/09/17/capturando-excepciones-codigos-de-error-predeterminados/

    https://firebird21.wordpress.com/2013/09/22/capturando-excepciones-del-usuario/

    https://firebird21.wordpress.com/2014/03/12/capturando-una-excepcion-y-continuando-con-el-procesamiento/

Después de leer esos artículos, si aún tienes alguna duda, puedes preguntarme aquí en el foro.

Saludos.

Walter.



 8 
 en: Abril 21, 2018, 12:09:12 pm 
Iniciado por SHIHANLORD - Último mensaje por Walter
Si entendí bien lo que quieres hacer, debes crear tablas agregadas para obtener el resultado buscado. En el blog hay varios artículos sobre ese tema, los encontrarás en la categoría llamada OLAP Y OLTP.

https://firebird21.wordpress.com/category/olap-y-oltp/

Saludos.

Walter.

 9 
 en: Abril 18, 2018, 09:50:54 pm 
Iniciado por Raul - Último mensaje por Raul
Hola que tal soy nuevo en el gestor firebird y tengo duda de como se trabaja las auditorias en este gestor . Gracias

 10 
 en: Abril 18, 2018, 02:29:24 pm 
Iniciado por SHIHANLORD - Último mensaje por SHIHANLORD
Antes que nada las disculpas del caso si ya existe la misma consulta y no la supe encontrar.

Estoy necesitando hacer en un store procedure, que posterior al resultado de un select, pueda clasificar en columnas según el año de cada registro,

ejemplo.

Todos los montos de facturas del 2013 en una columna, 2014 en la siguiente columna, 2015, en la siguiente, y así consecutivamente, según todos los años que me trae la consulta.

Debo hacerlo de esta manera porque me solicitaron un informe de los intereses que vencen en los próximos 12 meses, luego acumular por año.

Debe quedar algo así.

ABRIL   MAYO   JUNIO   JULIO   AGOSTO   SETIEMBRE   OCTUBRE   NOVIEMBRE   DICIEMBRE   ENERO   FEBRERO   MARZO     2019       2020        2021       2022
1.000   2.500    3.000   2.000    5.000        7.000            6.000          9.000          1.500          9.000     15.000       8.000   100.000   200.000   190.000    75.000

De manera que lo que debo hacer es acomodar en 12 columnas las 12 primeras filas, luego ya mientras el año se mantenga igual, acumular en la 13, y así sucecivamente..

Mi consulta principal tiene el siguiente formato.

FOR SELECT DISTINCT(EXTRACT(YEAR FROM a.vencimiento)),
                     EXTRACT(MONTH FROM a.vencimiento),
                     SUM(a.importe),
                     SUM(a.importe_moneda_original)
      FROM FINTERES a
      INNER JOIN fINTERES_CABECERA b ON ......
      WHERE     a.vencimiento >= :i_fecha
      GROUP BY 1, 2
      ORDER BY 1
      INTO :v_vencimiento_anho,
           :v_vencimiento_mes,
           :v_importe,
           :v_importe_moneda
  DO
  BEGIN
...

Espero puedan darme una luz, y sepan disculpar si el post fué muy extenso.

Páginas: [1] 2 3 ... 10

Enlaces

Blog de Firebird21 WebMaster