Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Oracle (https://www.clubdelphi.com/foros/forumdisplay.php?f=22)
-   -   Stored Procedure - Parametro con valor default en Oracle (https://www.clubdelphi.com/foros/showthread.php?t=88912)

Inge022 25-08-2015 21:16:47

Stored Procedure - Parametro con valor default en Oracle
 
Hola Estimados!! Hoy tengo una nueva situación.
Tengo un procedimiento almacenado en Oracle con varios parametros, la mayoria tienen declarado un valor DEFAULT. El problema esta cuando intento consumirlo desde mi aplicacion Delphi con FireDac.
Estoy trabajando con DelphiXE5, Firedac y el ThinClient de Oracle.

Cuando hago la llamada al SP lo hago a traves de un TFDQuery ejecutando la siguiente sentencia:
Código SQL [-]
BEGIN 
  NombreProc(:param1, :param2, :param3 ...); 
END;
En este caso particular el procedimiento tiene un cursor de salida tambien. Entonces mi problema es que no se como llamarlo, porque solamente tengo algunos valores para pasarle.
Si dejo sin asignar los valores de los parametros que tienen un DEFAULT asignado en Oracle, al ejecutarlo me muestra el error:
"wrong number or types of arguments in call"

Alguien tiene experiencia en este entorno como para darme algun consejo? he buscado en todos los foros y no encontre a nadie con problemas similares.
Desde ya muchas gracias, saludos.

gramajo 26-08-2015 03:11:12

Hola Inge022, particularmente no he llegado a usar Firedac y el ThinClient de Oracle, debería de funcionar bien de ésta forma:

Código:

Begin
    execute nombreProcedimiento(parametro1, parametro2,....);
End;

Sin los dos puntos : es la forma como uso los Stored Procedure en Oracle.

ecfisa 26-08-2015 21:48:48

Hola Inge002.

Obviamente Oracle da soporte a los valores por defecto en los parámetros de sus procedimientos almacenados (Using Procedures and Packages).

Mi versión de Delphi no dispone FireDac, pero en un punto de este enlace, Executing Stored Procedures (FireDAC) dice:
Cita:

...
In general, TFDStoredProc may be set up at design time and/or at runtime. TFDStoredProc transparently generates a SQL command to call a stored procedure based on the TFDStoredProc property values. Before the execution, FireDAC sends the parameter values to a DBMS, then executes a stored procedure and receives the output parameter values.

Note: FireDAC does not support parameters with the default values.
...
Saludos :)

Inge022 20-10-2015 22:05:05

Gracias por la ayuda
 
Muchas gracias por tomarse el tiempo de responder, tambien logre encontrar el mismo link de firedac, una lastima. Pero bueno, la estructura de nuestra app nos permitio saltear el problema de alguna forma. No como se quiere, pero en fin.
Nuevamente muchas gracias! Saludos.


La franja horaria es GMT +2. Ahora son las 08:50:31.

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