Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Problemas ejecutando funciones de PostgreSQL con Delphi 5 (BDE) (https://www.clubdelphi.com/foros/showthread.php?t=61079)

DagariK 24-10-2008 19:11:34

Problemas ejecutando funciones de PostgreSQL con Delphi 5 (BDE)
 
un saludo a todos los foreros,

verán tengo un lio que me tiene fuera de casillas ya, tengo en PostgreSQL algunas funciones, las cuales reciben parametros y retorna algunos otros, a traves de un objeto TSTOREDPROC puedo seleccionar la función que necesito, y éste automáticamente me lista los parámetros con sus respectivos tipos de dato y los identifica si son de entrada o salida.

luego de asignar los valores a cada parámetro le doy EXECPROC, y aqui es donde me lanza el siguiente error

Código:

ERROR NO EXISTE LA FUNCTION spnmcalpromconcepto(integer, double precision, UNKNOWN,
timestamp without time zone, timestamp without time zone, integer, UNKNOWN)

la verdad desconozco del porque DELPHI interpreta los parámetros de tipo caracter como UNKNOWN, a continuación les dejo el encabezado de mi función.

Código SQL [-]
CREATE OR REPLACE FUNCTION spnmcalpromconcepto  (
 IN P_SiCodEmpr INTEGER,    -- Codigo de Empresa
 IN P_DeCodEmpl NUMERIC,        -- Codigo del empleado
 IN P_StNroCont CHARACTER VARYING,      -- Número de Contrato
 IN P_DtFecInic TIMESTAMP,    -- Fecha Inicial del calculo
 IN P_DtFecFina TIMESTAMP,    -- Fecha Final del calculo
 IN P_SiCodConc SMALLINT,        -- Codigo del concepto a promediar
 IN P_StTipProm CHARACTER VARYING,       -- Indicador de si es con el valor pagado o el valor real  OUT P_DeValProm NUMERIC)  -- Base de liquidacion
AS 
$BODY$
DECLARE


el tipo de dato

CHARACTER VARYING

lo he cambiado por

- CHAR
- VARCHAR

y en ninguno de los casos me ha funcionado,

en delphi por código intenté lo siguiente, pero obtuve el mismo resultado

Código Delphi [-]
if (UpperCase(gStDrvKac) = 'POSTGRESQL ANSI') then  
  begin    
    With StpPromConc_Pgsql Do     begin       close;       StoredProcName := 'spnmcalpromconcepto';
      Params.CreateParam(ftSmallint, 'p_sicodempr', ptInput);
      Params.CreateParam(ftFloat, 'p_decodempl', ptInput);
      Params.CreateParam(ftString, 'p_stnrocont', ptInput);
      Params.CreateParam(ftDateTime, 'p_dtfecinic', ptInput);
      Params.CreateParam(ftDateTime, 'p_dtfecfina', ptInput);
      Params.CreateParam(ftSmallint, 'p_sicodconc', ptInput);
      Params.CreateParam(ftString, 'p_sttipprom', ptInput);
      Params.CreateParam(ftFloat, 'p_devalprom', ptOutput);
    end; // Fin with de Stored procedure
  end


espero puedan ayudarme, ya que he intentado de todo, y por ahora nada ha funcionado,

Gracias


La franja horaria es GMT +2. Ahora son las 21:51:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi