I have been researching Talend and its options and components. It seems to me quite a powerful program but I have not found a way to process an Oracle input as a PL / SQL process or similar, or to execute PL/SQL code independently on a task, for example, I am interested in moving data from one table to another, after then I want to run a PL/SQL procedure and after then do another Oracle Operation so I do not know how to do that or if it can be done some way. Sorry for my english, I'm spanish and I try my best, I hope you can understand my question XD Thanks!
I'm using tOracleSP and it doesn't work. In SP Name I type the name of my procedure called simply "PROCEDURE1", it has no inputs or outputs, only a FOR 1..50 LOOP that inserts 50 entries in a table already created. The procedure works outside Talend if I run on SQL Developer but not from Talend using tOracleSP. It displays me this error message: Exception in component tOracleSP_1 java.sql.SQLException: ORA-06550: line 1, column 7: PLS-00201: identifier 'PROCEDURE1' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) Any help would be useful, thanks.
Thats simply oracle telling you he doesnt recognize the procedure you're trying to call. Most probably because you're connecting as someone who ISNT the proc owner. If you havent done so , Try prefixing the procedure name with the owner name... In fact if you've used the 'SCHEMA' column in your connection that serves the same purpose. if you havent used the 'SCHEMA' column then simply add the schema name to the proc name in the SP object. Hope this helps.
Hi, Please any body tell how to run a package?? i have used tOracleRow for this package but its not reflecting CREATE OR REPLACE PACKAGE PACK_SNAPON IS PROCEDURE PROC_SNAPON; END; CREATE OR REPLACE PACKAGE BODY PACK_SNAPON IS PROCEDURE PROC_SNAPON IS BEGIN EXECUTE IMMEDIATE 'TRUNCATE TABLE WC_ETL_LOAD_D'; EXECUTE IMMEDIATE 'TRUNCATE TABLE WC_CUSTOMER_D'; INSERT INTO WC_ETL_LOAD_D(ROW_WID,LOAD_TS) SELECT SEQ_WC_ETL_LOAD_D.NEXTVAL,SYSDATE FROM DUAL; INSERT INTO WC_CUSTOMER_D(ROW_WID,CUST_NAME)SELECT 0,'UNSPECIFIED' FROM DUAL; INSERT INTO WC_CUSTOMER_D(ROW_WID,CUST_ID,CUST_NUM,CUST_NAME,SOURCE_SYSTEM_NAME,LOAD_TS,PROCESS_ID,DW_DELETE_IND) SELECT SEQ_WC_CUSTOMER_D.NEXTVAL,CUST_ID,CUST_NUM,CUST_NAME,'SNAPON',(SELECT MAX(WC_ETL_LOAD_D.LOAD_TS) FROM WC_ETL_LOAD_D) LOAD_TS, (SELECT MAX(WC_ETL_LOAD_D.ROW_WID) FROM WC_ETL_LOAD_D)PROCESS_ID,'N' FROM (SELECT DISTINCT CUST_ID,CUST_NUM,CUST_NAME FROM WC_SNAP_ON_DS ); END PROC_SNAPON; END PACK_SNAPON; please help me out to run a package