PDA

Ver la Versión Completa : Acceder a un procedimiento de un paquete de BD.


gesDelf
12-05-2008, 14:22:06
Buenas tardes,

Tengo una duda con el uso de paquetes de Oracle sobre Delphi.

Estoy usando Oracle sobre Delphi 5.

Tengo un package en Oracle con ciertos procedimientos, algo así por ejemplo:
Package : PCK_UTILIDADES, contiene:
* function CALCULOA (num) return NUMBER;
* function CALCULOB (num) return VARCHAR2;
* procedure CALCULOC (num, valora out number, valorb out number);


Intento utilizar un elemento TStoredProc de Delphi para acceder, igual que lo haría si fuesen funciones o procedimientos sin meter en package, pero no parece reconocermelos cuando por ejemplo voy a buscar los parámetros con "Params" desde el 'Object Inspector' de Delphi.

¿Hay alguna manera de acceder a funciones/procedimientos dentro de paquetes desde Delphi?

Gracias de antemano por la atención y ayuda.

coso
12-05-2008, 14:38:08
Me parece que por defecto delphi no puede usar las funciones de bases de datos dentro de su codigo (si que puede llamar al servidor para que desde alla las efectue y devuelva el resultado). Todo y eso, no estoy seguro. De todas maneras, aqui hay un componente para delphi q te permite cargar sus packages.

http://www.crlab.com/odac/

Venga, saludos

gesDelf
15-05-2008, 14:33:59
Bueno, pues resulta que sí se puede, yo metería mal el nombre del package o procedimiento,... y más o menos explico, por si alguien tiene el mismo problema o duda (ya que sí es cierto que en el listado de procedimientos/funciones a escoger no aparecen).

Lo que es cierto es que en la lista no aparece, y el componente TStoredProc desde Object Inspector no reconoce los paquetes, y no los listará, pero sí podemos ponerlo directamente en la propiedad StoredProcName:
NOM_PAQUETE.PROC_DEL_PAQUETE

Para comprobar si lo hemos insertado bien pulsando 'Params' nos deberán aparecer los parámetros de la función/procedimiento (en el caso de función, tendremos uno más 'Result' para el retorno de función).

Una vez con esto se opera como cualquier función / procedimiento fuera de paquete.

Sldos, y gracias por la aportacion e interés.