I have one problem. i have two diffrent database (7.3 and 8.7) i am try ing to compile my procedure that procedure call another procedure from second database using dblink but i am getting error lile PLS.00201 IDENTIFIER MUST BE DECLARE. i don't know why? i also create synonym for that procedure which i am calling from second database using dblink.
help me out.
12-18-2001, 02:40 PM
It could be a rights issue. If it can't see the other procedure then it can't use it.
Thanks for you help.i do understand that i have to grant privilages to object privilage to user i.egrant execute on to or grant select on to but here my problem is i am call package using dblink from diffrent database to my development database so how i am going to grant priviliges to my development user because i create synonym in my schema and i am the owner of that synonym so i am not sure what to do?
12-18-2001, 04:03 PM
You have to grant rights on the remote instance to the user that is establishing the connection to the remote db.
For example, if you create a db link:
create database link db1 connect to UserA identified by aPassword using 'db1.mydomain.com';
You then create a synonym that points to UserB.A_TABLE@db1.
On db1.mydomain.com, the owner of the object (UserB) must grant rights on A_TABLE to UserA.
12-18-2001, 04:53 PM
the web site link that explain about roles and privelages is very good and informative.