Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to call a procedure -- like dbms_metadata.session_transform -- with overloaded declarations?

Brad_the_DazedMar 4 2020 — edited Mar 5 2020

I'm trying to use cx_oracle to extract DDL from an Oracle database for further use in a non-Oracle database, so I'm looking to reduce the options created by DBMS_METADATA.GET_DDL by first calling DBMS_METADATA.SESSION_TRANSFORM, but this has an overloaded declaration. My python fu isn't up to the challenge & here is what happens:

    cursor.execute("begin DBMS_METADATA.SET_TRANSFORM_PARAM(:1,:2,:3); end;", ['DBMS_METADATA.SESSION_TRANSFORM', 'STORAGE', 'false'])

cx_Oracle.DatabaseError: ORA-06550: line 1, column 7:

PLS-00307: too many declarations of 'SET_TRANSFORM_PARAM' match this call

ORA-06550: line 1, column 7:

PL/SQL: Statement ignored

I'm fairly certain I'm already getting the :1 parameter value wrong, but I don't get that far. (That's problem #2.)

Suggestions for calling an overloaded procedure?

This post has been answered by Anthony Tuininga-Oracle on Mar 4 2020
Jump to Answer
Comments
Post Details
Added on Mar 4 2020
3 comments
916 views