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?