Wir haben ein Oracle DBMS (11g) und die folgende Konfiguration:
Frage: Wenn Sie als "MYUSER" angemeldet sind, wie lautet die korrekte Syntax für den Zugriff auf Tabellen über den DB-Link von "SCHEMA_B"? Ist das überhaupt möglich?
Ich habe bereits mehrere Sternbilder ausprobiert, die alle nicht funktionierten:
select * from [email protected]"DB_LINK"
select * from [email protected]"SCHEMA_B"."DB_LINK"
select * from [email protected]_B."DB_LINK"
select * from [email protected]_B.DB_LINK
select * from [email protected]_LINK
select * from "SCHEMA_B"[email protected]_LINK
Die Fehlermeldung, die ich erhalte, lautet: ORA-02019. 00000 - "Verbindungsbeschreibung für entfernte Datenbank nicht gefunden"
Danke für jeden Vorschlag!
Ich denke nicht, dass es möglich ist, eine Datenbankverbindung zwischen mehr als einem Benutzer zu teilen, aber nicht allen. Sie sind entweder privat (nur für einen Benutzer) oder öffentlich (für alle Benutzer).
Eine gute Möglichkeit, dies zu umgehen, besteht darin, in SCHEMA_B eine Ansicht zu erstellen, in der die Tabelle verfügbar gemacht wird, auf die Sie über die Datenbankverknüpfung zugreifen möchten. Auf diese Weise können Sie auch steuern, wer aus der Datenbankverbindung auswählen darf, da Sie den Zugriff auf die Ansicht steuern können.
Mach das so:
create database link db_link... as before;
create view mytable_view as select * from [email protected]_link;
grant select on mytable_view to myuser;