Forum Discussion
Oracle Stored Proc en PBI Desktop
Hola
Necesito ayuda para ejecutar un procedimiento almacenado de oráculo que simplemente devuelve pocas columnas.
Estoy recibiendo el error "Oracle:ORA00900: instrucción SQL no válida".
Estoy usando el cursor ref - ver abajo el código - produce un error. Funciona bien en el desarrollador de sql.
CREAR O REEMPLAZAR esquema DE PROCEDIMIENTO. TestSP
Como
c1 SYS_REFCURSOR;
Comenzar
abierto c1 para
SELECT Col1,Col2
FROM LinkDBServer;
DBMS_SQL. RETURN_RESULT c1);
FIN;
ejecutar schemax. TestSP
Uso de funciones Pipened - no hay ningún error en el escritorio Powerbi
CREAR O REEMPLAZAR TIPO t_type
COMO OBJETO
(
col1 NUMBER(22,14) NULL,
col2 VARCHAR2(120)
);
CREAR O REEMPLAZAR TIPO t_table_type
COMO TABLA DE t_type;
CREAR O REEMPLAZAR FUNCIONES fnc_Get_t_Pipelined
DEVOLVER t_table_type
PIPELINED
Como
Comenzar
PARA v_Rec IN (SELECT Col1, Col2 FROM LinkDBServer where rownum<-10) LOOP
PIPE ROW (t_type(v_Rec.Col1, v_Rec.Col2));
END LOOP;
DEVOLVER;
FIN;
SELECT Col1,Col2 FROM TABLE(fnc_Get_t_Pipelined());
¿Alguna sugerencia sobre cómo ejecutar un proceso de oracle en los archivos de escritorio de Power BI?
20 Replies
- AnonymousNot applicable
HI @RakeshSinghr,
¿Qué modo de conexión funciona? AFAIK, no puede invocar procedimientos almacenados en instrucciones SQL cuando se trabaja en modo de consulta directa.
saludos
Xiaoxin Sheng - mwegener
Most Valuable Professional
Hola @RakeshSinghr ,
tal vez esta entrada de blog ayudará.
https://hatfullofdata.blog/power-query-function-to-execute-a-procedure/
- v-lili6-msft
Community Support
hola @RakeshSinghr
Podría utilizar el procedimiento almacenado de Oracle en power bi, pero parece que Ref_Cusors no está disponible por ahora.
saludos
Lin
- RakeshSinghr
Resolver I
Para cualquier persona en el mismo barco que yo - Oracle almacenado proc con cursores ref se puede ejecutar dentro de power bi desktop. Sólo tiene que ejecutarse con la declaración de variable de cursor.
- siva_powerbi
Helper IV
¿Puede compartir más información sobre cómo llamar al procedimiento almacenado de oráculo con sys_refcursor de power bi
- RakeshSinghr
Resolver I
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
- Syndicate_Admin
Administrator
Rakesh, funciona perfectamente en el modo de importación. cuando utilicé la misma sintaxis en el modo Directo, está dando un error de sintaxis como falta la parátesis derecha.
¿Cómo podemos llamar en modo Consulta Directa?