CREATE PRIVATE DATABASE LINK FOR ANOTHER USER USING DBMS_SYS_SQL.PARSE_AS_USER
declare uid number; sqltext varchar2(1000) := 'CREATE DATABASE LINK TEST CONNECT TO "TEST_USER" IDENTIFIED BY "pass" USING ''TEST_TNS''' ; myint integer; begin select user_id into uid from all_users where username like 'MYUSER'; myint:=sys.dbms_sys_sql.open_cursor(); sys.dbms_sys_sql.parse_as_user(myint,sqltext,dbms_sql.native,UID); sys.dbms_sys_sql.close_cursor(myint); end; /
if you get ORA-01031, check create database link grant, grant if not granted:
CREATE DATABASE LINK to myuser;
Leave a comment