Two databases db1 (10g) and db2 (12c)
* On db1 a table table T exists under schema A
* A user exists B. B is granted all on A.T and a synonym B.T for A.T exists.
* In db2 a public database link db2_db1 is created to b@db1
* In db2 a public synonym T is created for T@db2_db1
* In db2 a user C is parsing user for an apex application. (Apex 5.0)
In sql*Plus, when I connect to C@db2, I can select from T. All's fine
In Apex, when I create a report, I can select from T. All's fine
However,
when I create a "automatic row fetch" on T to populate some items, I will get a WWV_FLOW_DML.TABLE_NOT_FOUND
Why o why?
I guess I am missing a grant somewhere, but I can't put my finger on it, because you can't grant anything on a synonym as far as I can tell.
Backtrace:
----- PL/SQL Call Stack -----
object line object
handle number name
00000003913D69B0 641 package body APEX_050000.WWV_FLOW_ERROR
00000003913D69B0 709 package body APEX_050000.WWV_FLOW_ERROR
00000003913D69B0 1013 package body APEX_050000.WWV_FLOW_ERROR
00000003914CCE28 439 package body APEX_050000.WWV_FLOW_DML
00000003914CCE28 687 package body APEX_050000.WWV_FLOW_DML
000000053159FB58 508 package body APEX_050000.WWV_FLOW_PROCESS_NATIVE
000000053159FB58 1088 package body APEX_050000.WWV_FLOW_PROCESS_NATIVE
000000052876BD28 2017 package body APEX_050000.WWV_FLOW_PLUGIN
000000052850EEC8 188 package body APEX_050000.WWV_FLOW_PROCESS
000000052850EEC8 428 package body APEX_050000.WWV_FLOW_PROCESS
0000000528A255C0 2409 package body APEX_050000.WWV_FLOW_PAGE
00000005372FEBE8 4938 package body APEX_050000.WWV_FLOW
000000052ED12068 173 procedure APEX_050000.F
00000005290F0B18 35 anonymous block