Forum Discussion
Oracle Stored Proc en PBI Desktop
¿Puede compartir más información sobre cómo llamar al procedimiento almacenado de oráculo con sys_refcursor de power bi
Dentro de Oracle:
CREAR O REEMPLAZAR EL PROCEDIMIENTO [ESQUEMA]. [STOREDPROCNAME]
( P_RC out SYS_REFCURSOR )
Como
Comenzar
P_RC ABIERTO PARA SELECT COL1,COL2,COL3 BLAH BLAH BLAH
FIN;
En Power BI Desktop:
DECLARE P_RC SYS_REFCURSOR;
Comenzar
[ESQUEMA]. [STOREDPROCNAME] (P_RC);
DBMS_SQL. RETURN_RESULT(P_RC);
FIN;
Espero que esto ayude.
saludos
Rakesh Singh
- siva_powerbi6 years ago
Helper IV
Hi Rakesh
Thanks for the Code.
I am not getting any error during connection but when tried to save changes, getting error missing right paranthasis. Checked the syntax in advanced editor and everything looks correct but still I can see error.
Any ideas.
Thanks
siva
- siva_powerbi6 years ago
Helper IV
Thanks Rakesh,
Code is working, didn't do anything special just restarted the Power BI.
Thanks
Siva
- Syndicate_Admin5 years ago
Administrator
Rakesh --
Estoy llamando correctamente a un procedimiento almacenado de Oracle devolviendo un sys_refcursor en Power BI Desktop; pero cuando publico mi informe en el servicio Power BI mediante una puerta de enlace empresarial (área de trabajo premium), el conjunto de datos se errores al intentar actualizar diciendo que la columna no existe en el conjunto de filas. ¿Ha podido actualizar el informe en Power BI Service llamando a un programa almacenado de Oracle devolviendo un sys_refcursor?
- Syndicate_Admin5 years ago
Administrator
Estoy teniendo este mismo problema, el mensaje de error es:
La columna '<pii>Column Name</pii>' no existe en el conjunto de filas. Tabla: Consulta1Y he agotado todas las búsquedas posibles en Google tratando de encontrar una solución para esto.
¡Cualquier comentario sobre esto será apreciado!
- Syndicate_Admin4 years ago
Administrator
@chuy-varela alguna vez hizo que esto funcionara (llamando al procedimiento almacenado de Oracle a través de la puerta de enlace)
- Syndicate_Admin5 years ago
Administrator
Sí, funcionó para mí a través de la puerta de enlace. No hay ninguna razón por la que funcione en power bi desktop pero no a través de la puerta de enlace. Ejecute el proc almacenado utilizando las credenciales de la cuenta de origen de datos de la puerta de enlace para ver si hay algún problema de permisos
- Syndicate_Admin5 years ago
Administrator
Sí, he probado la ejecución de este SP con las credenciales que usamos en el origen de datos en la puerta de enlace y es capaz de ejecutar/representar datos. El mensaje de error que recibimos en el servicio Power BI es:
La columna '<pii>Column Name</pii>' no existe en el conjunto de filas. Tabla: Consulta1
Parece que no es capaz de "atrapar" el conjunto de récords final generado por el SP.
¿Recuerda haber hecho algo más en específico, ya sea en su script SQL o en la configuración en el cliente Oracle instalado en el servidor Gateway?
Gracias...
- Syndicate_Admin5 years ago
Administrator
¿Realmente consiguió que esto funcionara desde el servicio Power BI a través de la puerta de enlace? Si es así, ¿cómo lo hiciste?
- Syndicate_Admin4 years ago
Administrator
Hi RakeshSinghr,
Su respuesta a continuación funcionó para mí para el procedimiento almacenado, gracias por publicar. ¿Puede publicar un ejemplo si quiero tener una selección de una tabla con la cláusula where en el cuadro Instrucción SQL en Opción avanzada al obtener datos de Oracle? Solo fyi estoy uniendo varias tablas en esta instrucción select y devolviendo filas.
- Syndicate_Admin1 year ago
Administrator
La forma en que usamos el SP contiene el parámetro in y out.