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!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

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

Processing

Post Details

Added on Mar 4 2020
3 comments
896 views