How pass a local UDT to a remote DB function?

jhell Source

I am trying to use this PLSQL block:

DECLARE 
  V_LOG_ENTRY I_LOG_ENTRY; 
  V_LOG_RETURN INTEGER;
BEGIN 
  V_LOG_ENTRY := I_LOG_ENTRY(arguments...); 
  V_LOG_RETURN := [email protected](V_LOG_ENTRY, 0);
END;

WRITE_LOG_ENTRY is expecting the type I_LOG_ENTRY. This type is present on both the local db and the remote db. They both have the same OID.

When I execute the block, I get the error: PLS-00306: wrong number or types of arguments in call to 'WRITE_LOG_ENTRY'

Signature for WRITE_LOG_ENTRY:

function WRITE_LOG_ENTRY(
      P_LOG_ENTRY I_LOG_ENTRY, P_current_log_level INTEGER DEFAULT NULL
 )

Thanks

sqloracleplsql

Answers

answered 3 months ago jhell #1

What I was trying to do is not possible.

Please see Referencing Oracle user defined types over DBLINK? as suggested by @kfinity for a different approach.

comments powered by Disqus