Freigeben über


Vorgänge für Synonyme in Oracle Database

Mit dem Oracle Database-Adapter können Sie Vorgänge für Synonyme ausführen. Ein Synonym ist ein Alias oder Anzeigename für die Datenbankobjekte (z. B. Tabellen, Sichten, gespeicherte Prozeduren, Funktionen und Pakete). Weitere Informationen zu Synonymen in Oracle finden Sie unter https://go.microsoft.com/fwlink/?LinkId=138058.

Vorteile der Verwendung von Synonymen

Synonyme sind in den folgenden Szenarien hilfreich:

  • Arbeiten mit unterschiedlichen Schemas: Wenn Sie mit unterschiedlichen Schemas arbeiten und schemaübergreifend auf die Objekte zugreifen müssen, müssen Sie verschiedene SQL-Anweisungen verwenden, um auf diese Objekte zuzugreifen. Sie können ein Synonym für ein Objekt in einem Schema erstellen und das Synonym in Ihrer SQL-Anweisung verwenden, um auf das Objekt zuzugreifen. Wenn Sie auf das zugrunde liegende Objekt in einem anderen Schema zugreifen müssen, ändern Sie die Definition des Synonyms so, dass sie auf das Objekt in einem anderen Schema verweist. Daher funktionieren die Anwendungen, die auf dem Synonym basieren, weiterhin ohne Änderung in der SQL-Anweisung.

    Angenommen, Sie haben zwei identische Schemas für Ihre Test- und Produktionsumgebungen: "Test" und "Prod". Um auf eine Tabelle namens "Employee" im "Test"-Schema zuzugreifen, müssen Sie oder Employee (wenn "Test" das Standardschema ist) in Ihrer SQL-Anweisung verwendenTest.Employee. Wenn Sie die Tabelle "Employee" im Produktionsschema verwenden möchten, müssen Sie jetzt oder Employee (ändern Sie das Standardschema in "Prod") in Ihrer SQL-Anweisung verwendenProd.Employee. Um dieses Problem zu umgehen, können Sie ein Synonym für die Tabelle "Test.Employee" (z. B. "EMP") erstellen und es dann in Ihren SQL-Anweisungen verwenden. Wenn Sie vorgänge für die Tabelle "Prod.Employee" ausführen müssen, ändern Sie die Definition des Synonyms "EMP", um sie auf die Tabelle "Prod.Employee" zu verweisen. Dadurch wird sichergestellt, dass Sie Ihre SQL-Anweisungen nicht ändern müssen, um vorgänge für das Objekt in verschiedenen Schemas auszuführen.

  • Änderungen an den zugrunde liegenden Objekten: Die Synonyme isolieren Sie vor allen Änderungen am Namen oder Speicherort der zugrunde liegenden Objekte, für die Sie einen Vorgang ausführen. Sie können die Synonymdefinition ändern, um änderungen am Namen oder Speicherort der zugrunde liegenden Objekte zu berücksichtigen.

    Angenommen, Sie verwenden eine Tabelle in einer ihrer gespeicherten Prozeduren. Wenn sich nun der Tabellenname ändert oder die Tabelle an einen anderen Speicherort verschoben wird, funktioniert Ihre gespeicherte Prozedur nicht mehr. Um dies zu umgehen, können Sie ein Synonym für die Tabelle in der gespeicherten Prozedur verwenden und die Synonymdefinition aktualisieren, wenn der Name oder der Speicherort der Tabelle geändert wird.

  • Vereinfachter und sicherer Zugriff: In einer verteilten Umgebung müssen Sie den Schemanamen zusammen mit den Objektnamen verwenden, um sicherzustellen, dass Sie auf das richtige Objekt zugreifen. Darüber hinaus müssen Sie auch sicherstellen, dass der Benutzer über erforderliche Berechtigungen für das Zielobjekt verfügt. Um dies zu vereinfachen, können Sie einem Objekt einen einfachen Namen zuweisen, indem Sie ein Synonym erstellen, das den vollständig qualifizierten Pfad zum Objekt aufweist, und dann entsprechende Berechtigungen für das Synonym gewähren.

Arbeiten mit Synonymen im Adapter

Der Oracle Database-Adapter macht die Synonyme in Oracle verfügbar für:

  • Tabellen

  • Sichten

  • Gespeicherte Prozeduren

  • Functions

  • Pakete

    Die Synonyme für jedes dieser Artefakte werden zusammen mit dem jeweiligen zugrunde liegenden Artefakt in den Add-Ins Adapterdienst nutzen, Assistent zum Hinzufügen von Adaptermetadaten und Add Adapter Service Reference Plug-In verfügbar gemacht. Beispielsweise zeigt der Tabellenknoten unter einem Schema alle Synonyme für Tabellen zusammen mit den Datenbanktabellen in einem Schema an, der Knoten Ansicht unter einem Schema zeigt alle Synonyme für Sichten zusammen mit den Datenbanksichten in einem Schema an usw.

  • Für Synonyme, die für Tabellen und Sichten erstellt werden, werden dieselben Vorgänge wie für die zugrunde liegenden Tabellen bzw. Sichten verfügbar gemacht. Wenn beispielsweise die zugrunde liegenden Tabellen und Sichten LOB-Spalten enthalten, machen die Synonyme für diese Tabellen und Sichten auch die Vorgänge ReadLOB und UpdateLOB verfügbar.

  • Für Synonyme, die für gespeicherte Prozeduren, Funktionen und Pakete erstellt wurden, werden die Synonyme als Vorgänge zusammen mit den jeweiligen zugrunde liegenden gespeicherten Prozeduren, Funktionen und Paketen in einem Schema verfügbar gemacht.

Hinweis

Der Oracle Database-Adapter unterstützt nur lokale Synonyme. Dies impliziert, dass nur die Synonyme vom Adapter unterstützt werden, die auf die Artefakte auf dem lokalen Server ausgerichtet sind.

Darüber hinaus sind die Nachrichtenaktionen für die Synonyme mit dem zugrunde liegenden Objekt identisch, mit Ausnahme des Artefaktnamens, für den die Aktion ausgeführt wird. Die Meldungsaktion für den Select-Vorgang für eine Tabelle im SCOTT-Schema lautet beispielsweise: http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/[TABLE_NAME]/Select. Wenn Sie einen Select-Vorgang für ein Synonym für dieselbe Tabelle im SCOTT-Schema ausführen, lautet die Meldungsaktion: http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/[SYNONYM_NAME]/Select.

Wenn Sie einen Vorgang für ein Synonym im Adapter aufrufen, ruft der Adapter das Synonym in der Oracle-Datenbank auf, um den Vorgang auszuführen. Der Adapter verwendet jedoch den zugrunde liegenden Objektnamen in der Synonymdefinition, um die Metadaten abzurufen.

Synonyme können in normalen ausgehenden Vorgängen, zusammengesetzten Vorgängen und Abrufvorgängen verwendet werden.

Hinweis

Wie bei anderen Objekten können Sie in Nutzung des Adapterdienst-Add-Ins oder Adapterdienstverweis-Plug-In hinzufügen nach Synonymen suchen. Sie können jedoch nicht in Synonympaketen von einem Knoten auf Skip-Level nach Prozeduren suchen, wie Sie dies für die Prozeduren in Paketen tun können. Informationen zum Suchen nach Vorgängen im Adapter finden Sie unter Durchsuchen, Suchen und Abrufen von Metadaten für Oracle Database-Vorgänge.

Weitere Informationen

Welche Vorgänge können mit dem Adapter ausgeführt werden?