connect con execute immediate?
Publicado por Jose (3 intervenciones) el 22/04/2008 11:50:51
Wenas!!!!
tengo problemas a la hora de hacer una connexion con otro usuario desde el pakequete
de la BD. he probado varias maneras
ej :
BEGIN
v_connect := 'CONNECT ' || p_destino || '/' || p_cont || '@' || p_bd;
DBMS_SQL.parse (cur, v_connect, DBMS_SQL.native);
fdbk := DBMS_SQL.EXECUTE (cur);
DBMS_SQL.close_cursor (cur);
FOR x IN c1
LOOP
BEGIN
v_permisos :=
'REVOKE ALL ON ' || x.nombre_tabla || ' FROM ' || p_origen;
DBMS_SQL.parse (cur, v_permisos, DBMS_SQL.native);
fdbk := DBMS_SQL.EXECUTE (cur);
DBMS_SQL.close_cursor (cur);
END;
END LOOP;
DBMS_SQL.parse (cur, v_disconnect, DBMS_SQL.native);
fdbk := DBMS_SQL.EXECUTE (cur);
DBMS_SQL.close_cursor (cur);
END;
ej:
BEGIN
execute immediate
'CONNECT ' || p_destino || '/' || p_cont || '@' || p_bd;
FOR x IN c1
LOOP
BEGIN
execute immediate
'GRANT ALL ON ' || x.nombre_tabla || ' TO ' || p_origen;
END;
END LOOP;
execute immediate
'DISCONNECT';
END;
he probado estas dos maneras, los el usuario origen tiene todos los permisos sobre el
destino pero aun asi peta.
gracias por molestaros SALUDOSSSSSSSS..
tengo problemas a la hora de hacer una connexion con otro usuario desde el pakequete
de la BD. he probado varias maneras
ej :
BEGIN
v_connect := 'CONNECT ' || p_destino || '/' || p_cont || '@' || p_bd;
DBMS_SQL.parse (cur, v_connect, DBMS_SQL.native);
fdbk := DBMS_SQL.EXECUTE (cur);
DBMS_SQL.close_cursor (cur);
FOR x IN c1
LOOP
BEGIN
v_permisos :=
'REVOKE ALL ON ' || x.nombre_tabla || ' FROM ' || p_origen;
DBMS_SQL.parse (cur, v_permisos, DBMS_SQL.native);
fdbk := DBMS_SQL.EXECUTE (cur);
DBMS_SQL.close_cursor (cur);
END;
END LOOP;
DBMS_SQL.parse (cur, v_disconnect, DBMS_SQL.native);
fdbk := DBMS_SQL.EXECUTE (cur);
DBMS_SQL.close_cursor (cur);
END;
ej:
BEGIN
execute immediate
'CONNECT ' || p_destino || '/' || p_cont || '@' || p_bd;
FOR x IN c1
LOOP
BEGIN
execute immediate
'GRANT ALL ON ' || x.nombre_tabla || ' TO ' || p_origen;
END;
END LOOP;
execute immediate
'DISCONNECT';
END;
he probado estas dos maneras, los el usuario origen tiene todos los permisos sobre el
destino pero aun asi peta.
gracias por molestaros SALUDOSSSSSSSS..
Valora esta pregunta


0