Database Administration (MOSC)

MOSC Banner

I have a solution for : ORA-14551 WHILE CALLING FUNCTION IN SQL OVER DBLINK in 9i or 10g

edited Oct 21, 2010 8:42AM in Database Administration (MOSC) 1 comment
  Hi,

Fisrt, Sorry for my english, i'm french !

Symptoms:

Instance 1 (I1)

owner's : O1, O2

    dblink in O1 and O2 : host I2 and user_name O3

Instance 2 (I2)

    owner : O3 , table TA, Function FCTA with update TA

Cause :

O1 call FCTA with synonym for O3.FCTA@I2

select fcta into :myVar from dual;

       *
ERROR at line 1:
ORA-14551: cannot perform a DML operation inside a query

Solution :

 1/ in O1, drop synonym (public and private) FCTA

 2/ duplicate O3.FCTA in  O1

 3/ if you havn't : create synonym TA for O3.TA@I2

 If O2 use too FCTA :

  1/ in O2, drop synonym private FCTA

  2 / create  synonym FCTA for O1.FCTA 

Howdy, Stranger!

Log In

To view full details, sign in to My Oracle Support Community.

Register

Don't have a My Oracle Support Community account? Click here to get started.

Category Leaderboard

Top contributors this month

New to My Oracle Support Community? Visit our Welcome Center

MOSC Help Center