![]() |
Utilizar sinonimos de Oracle en Delphi
Hola,
tengo una pequeña duda. He creado un sinonimo en Oracle "CREATE SYNONIM P_ALTA FOR PAQ.P_ALTA". Bien, ahora necesito utilizar ese sinonimo desde la aplicación Delphi, exactamente desde un "TOraStoredProc". Es decir, a la hora de definir el storedProc Name en vez de poner elorza.PAQ.P_ALTA, necesito utilizar el sinonimo y poner: elorza.P_ALTA. ¿Es esto posible? Espero tu respuesta, Gracias, |
Me he dado cuenta de que lo que da error es la creación del sinonimo.
Es decir, CREATE SYNONYM P_ALTA FOR PAQ.P_ALTA; (no es posible) Entonces, mi duda es la siguiente. Cómo crear un sinonimo para una procedure de un paquete. ¿Eso es posible? (PAQ es el nombre de mi paquete y P_ALTA es el procedure de ese paquete) El problema que tengo es la siguiente: Tengo una aplicación hecha en Delphi y utiliza directamente unas proceduras de la base de datos Oracle. Ahora, esos procedures las he metido en un paquete. Entonces, para que la aplicación siga funcionando tendría que modificar uno por uno y cambiar en todos los sitios que pone P_ALTA, por PAQ.P_ALTA; Por ello, he pensado en crear un sinonimo de ello, y así no tendría que modificarlos. Espero una ayuda, Gracias, |
Cita:
Amigo, disculpa que responsda tu hilo con otra pregunta, ¿Cuál es la ventaja de meter los Procedimientos almacenados en un paquete?. Hasta ahora solo los he usado para dar salida a los recorsets. Saludos. |
Tengo una aplicación que utiliza 2 procedimientos de la base de datos definidas en Oracle.
Ahora, estos procedimientos he tenido que convertirlos a servicios web para poder ofrecerlos vía web. Para ello, es necesario (creo) meter los procedimientos es un package y es ese paquete el que se publica como servicio web. ¿Sabes cómo puedo definir un sinomimo de un procedure de ese paquete? -El paquete se llama: PAQ -Y por ejemplo un procedure: P_ALTA Necesito definir un sinonimo (ejemplo ALTAS) que sustituya a PAQ.P_ALTA. |
Si, claro que es posible crear un sinonimo para un paquete:
http://www.softics.ru/docs/oracle10r...ments_7001.htm |
segun entiendo tienes un paquete llamado PAQ dentro del cuals tienes varios procedimientos, entre ellos uno llamado P_ALTA.
pues bien te cuento que hasta donde yo se, no es posible crear un sinonimo para un procedimiento que se encuentra dentro de un paquete, lo que puedes hacer es crear un sinonimo para el paquete, y la forma de utilizar el procedimiento seria PAQ.P_ALTA. segun te entiendo de esta forma te serviria para los servicios web que tienes publicasdos. el problema esta en que no quieres cambiar tu codigo en delphi pora invocar los procedimientos del paquete, lo que podrias hacer crear un procedimiento P_ALTA que internamente realiza el llamado a PAQ.P_ALTA obviamente recibiendo los mismos parametros. asi no tendrias que cambiar tu aplicacion delphi. espero haberte ayudado en algo. :) |
Sinonimos en oracle
Hola, mira no es posible hace lo que tu necesitas , pero lo que puede hacer es crear procedimientos con el mismo nombre de tu antigua version y llamarlos desde desde ahi los paquetes.
por ejemplo: Procedure A1(A varchar2) is begin --llamar al paquete end; suponiendo que A1 es tu anterior procedimiento espero que te ayude suerte |
Buen dia Elorza... Si es posible... pero como dice SpyO_O....
Yo tuve que hacerlo para una interfaz con otro sistema Crea el procedure P_ALTA. con lá misma definición del procedure dentro de tu paquete PAQ.P_ALTA. Y este nuevo procediemiento solo tendría el llamado a tu procediemitno en el paquete: Procedure P_ALTA (Param1 Tipo, Param 2 Tipo....) is Begin PAQ.P_ALTA(Param1, Param2...); end; Saludos, |
La franja horaria es GMT +2. Ahora son las 20:58:55. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi